내 사이트를로드하려고하는데이 오류 메시지가 나타납니다.
인식 할 수없는 속성 'targetFramework'. 속성 이름은 대소 문자를 구분합니다.
<compilation debug="true" targetFramework="4.0">
이 사이트는 로컬 PC에서 제대로 작동하지만 호스트에로드하여 온라인으로 보려고 할 때 열리지 않습니다.
내 사이트를로드하려고하는데이 오류 메시지가 나타납니다.
인식 할 수없는 속성 'targetFramework'. 속성 이름은 대소 문자를 구분합니다.
<compilation debug="true" targetFramework="4.0">
이 사이트는 로컬 PC에서 제대로 작동하지만 호스트에로드하여 온라인으로 보려고 할 때 열리지 않습니다.
답변:
이는 일반적으로 targetFramework="4.0"
web.config에 속성이 있지만 앱 풀이 ASP.NET 2.0을 실행하도록 설정된 경우에 발생합니다. 그만큼targetFramework
특성은 ASP.NET 2.0에서 완전히 인식되지 않으므로 2.0으로 변경해도 원하는 효과가 없습니다.
지원 / 관리자에게 연락하여 AppPool을 4.0으로 전환하십시오.
속성을 완전히 제거 할 수도 있지만 사이트가 4.0 프레임 워크로 코딩 된 경우 다른 오류도 발생할 수 있습니다.
IIS에 프레임 워크를 등록하면 나에게 도움이됩니다.
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
IIS에서
응용 프로그램 풀을 클릭하십시오
DefaultAppPool을 마우스 오른쪽 버튼으로 클릭 --- >> 응용 프로그램 풀 기본값 설정 ....--- >>. NET 버전을 V 4.0으로 변경합니다.
Visual Studio 메뉴에서 :
웹 사이트-> 시작 옵션-> 빌드 탭-> 드롭 다운 상자에서 대상 프레임 워크 선택 (.NET FrameWork 4)
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
classic 대신 대상 프레임 워크 4.0으로 응용 프로그램 풀을 변경하십시오.
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>
이전 버전의 VS에서 VS2010 및 .NET 4.0으로 변환 된 프로젝트 파일에서 실패한 MSBuild 컴파일 에서이 오류가 발생했습니다 . 실제로 웹 배포 프로젝트 였고 저에게 효과적 인 솔루션 은 MSBuild 파일 시작시 PropertyGroup 섹션에 다음 항목을 추가하는 것입니다 .
<ProductVersion>10.0.11107</ProductVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
VS2010에서 다른 유형의 프로젝트를 변환하면 자동으로 업데이트되지만 변환 후 내 웹 배포 프로젝트 파일에서 누락되었을 수 있습니다.
.Net Framework 4.7.1을 가리키는 응용 프로그램을 로컬로 실행하는 동안 동일한 문제가 발생했습니다. 버그는 아래와 같이 " 인식 할 수없는 속성 TargetFrameWork "입니다.
그러나 위의 답변 중 어느 것도 도움이되지 않았습니다. 마침내 아래 표시된 것처럼 현재 포트 (1413) 번호를 다른 값 (60179)으로 변경했을 때 제대로 작동했지만 실제로이 이유는 확실하지 않지만 작동했습니다.
파일을 컴파일하고 "targetFramework"값이 특정 버전 (예 : 4.0)으로 설정된 경우,
호스트가 명시된 것과 동일한 버전으로 .net 프레임 워크를 실행하고 있는지 확인하십시오.
그렇지 않은 경우 .net 프레임 워크를 다운로드하십시오.
다운로드 후 IIS 관리자에서 새로 다운로드 한 .net 프레임 워크의 확장 버전을 사용하도록 자동 설정되지 않은 경우,
IIS 관리자를 통해 최근에 다운로드 한 .net 프레임 워크의 폴더로 이동하여 확장을 수동으로 추가하십시오.
1. 웹 사이트 폴더를 마우스 오른쪽 버튼으로 클릭
2. "속성"으로 이동
3. "가상 디렉토리"아래에서 "구성"을 클릭하십시오.
4. 확장명 ".aspx"의 실행 경로 (최근에 다운로드 한 .net 프레임 워크 버전 이외의 버전을 가리키는 경로)를 새로 다운로드 한 .net 프레임 워크 버전의 폴더 인 올바른 경로로 편집합니다. "aspnet_isapi.dll"파일을 선택하세요.
5. 확인을 클릭하십시오!
빌드 서버에서 Jenkins의 '콘솔 출력'페이지에서 "인식 할 수없는 속성 'targetFramework'"오류가 발생했습니다. 이것은 여러 프로젝트의 '대상 프레임 워크'를 '.NET Framework 3.5'에서 '.NET Framework 4'로 변경하고 변경 사항을 커밋 한 후에였습니다.
Jenkins에서는 프로젝트 설정을 변경해야했습니다. 솔루션의 경우 'MSBuild 버전'을 'v3.5'에서 'v4.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>
레이어링의 경우 web.config 파일에서만 targetFramework의 버전 만 변경하면됩니다.
나는 같은 문제가 있었고 모든 멋진 응용 프로그램 풀을 동시에 업데이트하는 멋진 poweshell 스크립트를 발견했습니다. https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
$IISAppPoolDotNetVersion = "v4.0"
상단에 변수 를 설정하십시오 .