인식 할 수없는 속성 'targetFramework'. 속성 이름은 대소 문자를 구분합니다.


416

내 사이트를로드하려고하는데이 오류 메시지가 나타납니다.

인식 할 수없는 속성 'targetFramework'. 속성 이름은 대소 문자를 구분합니다.

<compilation debug="true" targetFramework="4.0">

이 사이트는 로컬 PC에서 제대로 작동하지만 호스트에로드하여 온라인으로 보려고 할 때 열리지 않습니다.


어떤 파일에 해당 파일이 어디에 있는지 표시되어 있지 않습니까?
Jon Skeet

2
이전에 4.0 이전 프레임 워크에서 빌드 되었습니까? elegantcode.com/2009/11/10/…
Ta01

이 문제는 4.0.3에서 해결 될 수 있습니다. KB 기사를 여기서 확인할 수 있습니다. @ 저에게 연락하여 문제가 해결되는지 알려면이 오류에 대한 정식 질문 / 답변을 얻으려고 노력할 수 있습니다. 감사.

Win 7 x64에 KB2599651 (64 비트 다운로드)을 설치하려고하면 "컴퓨터의 다른 조건에 의해 적용되지 않거나 차단됩니다"라는 오류 메시지가 나타납니다. OP와 동일한 오류가 있으며 Framework 4.0을 설치하고 IIS에 등록했으며 응용 프로그램 풀로 선택했습니다.
Tim

프로젝트가 개발 된 것보다 이전 버전의 Visual Studio에서 열었습니까? 아니면 Webmatrix에서 개발 된 다음 이전 Visual Studio에서 열었습니까?
ruffrey

답변:


610

이는 일반적으로 targetFramework="4.0"web.config에 속성이 있지만 앱 풀이 ASP.NET 2.0을 실행하도록 설정된 경우에 발생합니다. 그만큼targetFramework 특성은 ASP.NET 2.0에서 완전히 인식되지 않으므로 2.0으로 변경해도 원하는 효과가 없습니다.

지원 / 관리자에게 연락하여 AppPool을 4.0으로 전환하십시오.

속성을 완전히 제거 할 수도 있지만 사이트가 4.0 프레임 워크로 코딩 된 경우 다른 오류도 발생할 수 있습니다.


20
감사합니다. 이렇게하면 문제가 해결되었습니다. 단계별 링크로 AppPool을 4.0으로 전환하려면이 링크를 확인하십시오. stackoverflow.com/questions/4890245/…
user1010572

감사합니다 @ vcsjones..my 웹 사이트는 이제 당신 때문에 .. :)
Shiva Pareek

@vcsjones 솔루션에 추가하는 것만으로 .net 4.0을 등록하는 것도 놓칠 수 있습니다. 이 링크의 절차를 사용하여 .net 4.0 등록을 수행 한 다음 응용 프로그램 풀을 4.0으로 변경해야합니다.
Ram

4
오류 메시지를봤을 때이 아름다운 질문과 더 아름다운 답변이있는이 페이지를 찾았습니다.
Memet Olsen

81

IIS에 프레임 워크를 등록하면 나에게 도움이됩니다.

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i

7
작동합니다! 64 비트에 대한 C 아래 : \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319
제리 리앙

1
나는 같은 문제를 겪었지만 regiis는 그것을 고치지 않았다-나는 전체 웹 사이트 트리를 삭제하고 다시 생성하고 각 응용 프로그램에 대한 풀을 다시 할당해야했고 지금은 작동합니다 ...
veljkoz December

1
이것이 IIS의 최신 버전이거나 (다른 사이트가 실행되고 있지 않은 경우) 프레임 워크 변경으로 인해 호스팅 된 사이트가 걱정되지 않는다면 등록하는 동안 -ir 대신 -i를 사용할 수 있습니다.
Ram

43

이 이미지를 크게 보려면 이미지를 마우스 오른쪽 단추로 클릭하고 새 탭에서 이미지를여십시오. 여기에 이미지 설명을 입력하십시오


43

IIS에서

응용 프로그램 풀을 클릭하십시오

DefaultAppPool을 마우스 오른쪽 버튼으로 클릭 --- >> 응용 프로그램 풀 기본값 설정 ....--- >>. NET 버전을 V 4.0으로 변경합니다.


26

Visual Studio 메뉴에서 :

웹 사이트-> 시작 옵션-> 빌드 탭-> 드롭 다운 상자에서 대상 프레임 워크 선택 (.NET FrameWork 4)


또는 4.5 내 경우 :)
user230910

서버에 2.0 만있는 경우 어떻게합니까? 4.0 / 4.5를 설치해야합니까 ??
Juran

@ user230910 그 옵션은 어디에 있습니까?
DiegoS

명확하게 기억할 수는 없지만 이것이 IIS를 의미한다고 생각합니다.
user230910

AWS EC2 Windows Server 2019에서 Visual Studio 2019 웹 양식 앱을 사용하여 2019 년 5 월에 완벽하게 작동했습니다.
Doug Null

12

첫 번째 웹 서비스를 게시하는 동안 동일한 문제에 직면했습니다. 나는 이것을 간단히함으로써 해결했다.

  1. IIS 열기

  2. 응용 프로그램 풀을 클릭하십시오

  3. DefaultAppPool => Set Application Pool Default => .Net Version을 V 4.0으로 변경하십시오. (응용 프로그램의 .Net Framework 버전을 구체적으로 변경할 수도 있습니다)

희망, 작동합니다.


9

IIS 7의 경우 주어진 그림에 따라 시도해보십시오 ...

여기에 이미지 설명을 입력하십시오


8

Windows Server 2008 R2에서 ASP.Net을 해결하려면 IIS에 ASP.Net을 등록해야했습니다. 아래에 새겨진 명령의 재연

cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319

iisreset /stop

aspnet_regiis -i

iisreset /start

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll'].allowed:True 

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll'].allowed:True 

여기에 이미지 설명을 입력하십시오


5

classic 대신 대상 프레임 워크 4.0으로 응용 프로그램 풀을 변경하십시오.

  1. RC 웹 사이트-> 웹 사이트 관리-> 고급 설정>
  2. 첫 번째 옵션은 클래식에서 프레임 워크 4 통합으로 변경되었습니다.

5

IIS가 아닌 IIS Express를 사용하고 있습니다.

문제는 {solution_folder} \. vs \ config \ applicationhost.config에있는 applicationhost.config 파일에 있습니다.

응용 프로그램 풀 항목 중 하나의 managedRuntimeVersion 값은 "v2.0"입니다. "v4.0"으로 변경했는데 제대로 작동했습니다.

근본 원인이 최근에 설치 한 NuGet 패키지 중 하나라고 확신합니다.

    <system.applicationHost>
       <applicationPools>
          <add name="BadAppPool1" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
       </applicationPools>
    </system.applicationHost>

2
모든 단일 게시물이 IIS에 대해 언급했습니다. IIS Express를 사용하고있었습니다. 수정을위한 Thx
PhillyNJ

4

프로젝트 열기 -> 보도 Shift + F4 (오픈 속성 페이지) -> 선택했다 빌드 ->에서 대상 프레임 워크 선택 .NET 프레임 워크 4 OK>를 -


3

.Net Framework v4.0.3xxxxx를 선택하여 새 풀을 만듭니다.

파이프 라인 관리 모드 사용 : 통합

사이트에 할당하고 완료하십시오.


2

이 문제를 해결하려면 제어판의 사이트 도구 섹션에서 ASP.NET 버전 아이콘을 클릭하여 프레임 워크를 4.0으로 전환하십시오.


2

이전 버전의 VS에서 VS2010 및 .NET 4.0으로 변환 된 프로젝트 파일에서 실패한 MSBuild 컴파일 에서이 오류가 발생했습니다 . 실제로 웹 배포 프로젝트 였고 저에게 효과적 인 솔루션 은 MSBuild 파일 시작시 PropertyGroup 섹션에 다음 항목을 추가하는 것입니다 .

<ProductVersion>10.0.11107</ProductVersion>

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

VS2010에서 다른 유형의 프로젝트를 변환하면 자동으로 업데이트되지만 변환 후 내 웹 배포 프로젝트 파일에서 누락되었을 수 있습니다.


2

내가 한 일 : Application Pool의 값을 이전 값에서 DefaultAppPool로 변경했습니다. 고급 설정 (웹 사이트-> 웹 사이트 관리-> 고급 설정>에서이 작업을 수행합니다.


2

.Net Framework 4.7.1을 가리키는 응용 프로그램을 로컬로 실행하는 동안 동일한 문제가 발생했습니다. 버그는 아래와 같이 " 인식 할 수없는 속성 TargetFrameWork "입니다. 여기에 이미지 설명을 입력하십시오

그러나 위의 답변 중 어느 것도 도움이되지 않았습니다. 마침내 아래 표시된 것처럼 현재 포트 (1413) 번호를 다른 값 (60179)으로 변경했을 때 제대로 작동했지만 실제로이 이유는 확실하지 않지만 작동했습니다.

여기에 이미지 설명을 입력하십시오


나는이 정확한 오류가 있는지 확인하고 있으며이 답변에 표시된 것처럼 단순히 포트를 변경하려고했습니다. localhost에서이 서비스를 시작하기 위해 WCF 테스트 클라이언트를 실행하고 있습니다. 포트 번호를 변경 한 후 서비스를 시작할 수있었습니다. 제안 해 주셔서 감사합니다.
Evan

이 제안 만 모든 제안을 시도한 후에 내 문제가 해결되었습니다. 정말 고맙습니다.
Prabo

귀하의 환영 @Prabo 가능한 경우 PLS UP 투표에 도움이
Rinoy Ashokan

당신의 환영
@Evan

1

VS 2010 에서이 기능을 사용했습니다.

.sln 파일을 편집하고 TargetFrameworkMoniker".NETFramework, Version % 3Dv4.0"값이 할당되도록 변경하여 수정되었습니다 .


0

파일을 컴파일하고 "targetFramework"값이 특정 버전 (예 : 4.0)으로 설정된 경우,

호스트가 명시된 것과 동일한 버전으로 .net 프레임 워크를 실행하고 있는지 확인하십시오.

그렇지 않은 경우 .net 프레임 워크를 다운로드하십시오.

다운로드 후 IIS 관리자에서 새로 다운로드 한 .net 프레임 워크의 확장 버전을 사용하도록 자동 설정되지 않은 경우,

IIS 관리자를 통해 최근에 다운로드 한 .net 프레임 워크의 폴더로 이동하여 확장을 수동으로 추가하십시오.

1. 웹 사이트 폴더를 마우스 오른쪽 버튼으로 클릭

2. "속성"으로 이동

3. "가상 디렉토리"아래에서 "구성"을 클릭하십시오.

4. 확장명 ".aspx"의 실행 경로 (최근에 다운로드 한 .net 프레임 워크 버전 이외의 버전을 가리키는 경로)를 새로 다운로드 한 .net 프레임 워크 버전의 폴더 인 올바른 경로로 편집합니다. "aspnet_isapi.dll"파일을 선택하세요.

5. 확인을 클릭하십시오!


0

"Target Framework 4.0"을 제거하고 브래킷을 닫으십시오.

작동합니다


0

다음 두 단계를 수행하십시오.

.net 프레임 워크 버전 4.0을 등록하십시오 (등록되지 않은 경우).

  1. C : \ WINDOWS \ Microsoft.NET \ 프레임 워크 \ v4.0.30319> aspnet_regiis -i

  2. 앱 풀에서 .net 프레임 워크를 v4.0으로 변경


0

.Net FrameWork 설치 후 IIS를 설치 한 경우 IIS 용 .net 프레임 워크를 다시 설치해야합니다. 따라서 우리가해야 할 일은 run aspnet_regiis -i입니다. 도움이 되길 바랍니다.


0

빌드 서버에서 Jenkins의 '콘솔 출력'페이지에서 "인식 할 수없는 속성 'targetFramework'"오류가 발생했습니다. 이것은 여러 프로젝트의 '대상 프레임 워크'를 '.NET Framework 3.5'에서 '.NET Framework 4'로 변경하고 변경 사항을 커밋 한 후에였습니다.

Jenkins에서는 프로젝트 설정을 변경해야했습니다. 솔루션의 경우 'MSBuild 버전'을 'v3.5'에서 'v4.0'으로 변경해야했습니다.


0

이전 IIS 상자에 새 앱을 배포하는 데이 문제가있었습니다. 조사 결과 v4.5.1 런타임이 설치되었지만 v4.5.2가 필요한 앱

올바른 버전의 ASP .Net 런타임을 설치하는 것 외에는 아무것도 필요하지 않습니다.


0

자체 MSBUILD proj 파일이 있고 <AspNetCompiler>작업을 사용 중일 수 있습니다 . 이 경우 ToolPath.NET4 용을 추가해야합니다 .

<AspNetCompiler
    VirtualPath="/MyFacade"
    PhysicalPath="$(MSBuildProjectDirectory)\MyFacade\"
    TargetPath="$(MSBuildProjectDirectory)\Release\MyFacade"
    Updateable="true"
    Force="true"
    Debug="false"
    Clean="true"
    ToolPath="C:\Windows\Microsoft.NET\Framework\v4.0.30319\">      
</AspNetCompiler>

0

레이어링의 경우 web.config 파일에서만 targetFramework의 버전 만 변경하면됩니다.



0

다음 2 단계는 Visual Studio 및 IIS Express 캐시를 강제로 새로 고치며 일반적으로 비슷한 문제를 해결합니다.

  1. 프로젝트 프레임 워크를 4+ 에서 .Net framework 3.5로 간단히 전환 하고 실행하십시오.
  2. 성공적으로 실행 되면 원하는 4+ 대상 프레임 워크로 되돌릴 수 있으며 다시 작동 할 것입니다.

0

로컬 개발을위한 포트 번호를 변경하면 Thanks @Rinay Ashokan에 도움이되었습니다. 모든 문제 해결을 완료했으며 마침내 프로젝트 구성이 포트 번호에 대한 IIS Express에 저장되어 있음을 발견했습니다. 여기에 이미지 설명을 입력하십시오


-1

dev PC에서 IIS를 실행하지 않는 사람이라면 여기에 나에게 일어난 일이 있습니다. 한 웹 사이트가 있는데 이전 웹 사이트는 3.5 인 반면 diff 웹 사이트의 파일로 덮어 썼습니다. 이 오류가 발생했습니다. dev PC에서 웹 사이트의 디렉토리 이름을 변경하여 간단히 고쳤습니다. 문제는 없습니다. 위의 내용은 아마도 더 우아 할 수도 있지만 때로는 간단한 작업 일 수도 있습니다. 예를 들어 QA 또는 Prod가 아닌 dev에 있다면 말입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.