단위 테스트를 실행할 수 없습니다.
다음 오류가 있습니다.
프로젝트가 “.NETFramework, Version = v4.6.2″프레임 워크를 참조하지 않습니다. 프로젝트 파일의 “TargetFrameworks”속성에 “.NETFramework, Version = v4.6.2″에 대한 참조를 추가 한 다음 NuGet 복원을 다시 실행합니다.
에서 app.config
:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
프로젝트> 속성> 응용 프로그램> TargetFramework (.NET Framework 4.6.2)에서
어떻게 고칠 수 있습니까?
답변
다음 단계를 수행하십시오
- 깨끗한 솔루션
- 클린 폴더 “패키지”
- “bin”폴더 삭제
- “obj”폴더 삭제
답변
비슷한 문제가 발생했지만 v4.7.2
. 즉, 다음과 같은 빌드 로그 메시지가 계속 나타납니다.
error : Your project does not reference ".NETFramework,Version=v4.7.2" framework. Add a reference to ".NETFramework,Version=v4.7.2" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
비슷해 보였음에도 불구하고 위의 제안 된 단계 중 어느 것도 저에게 효과가 없었습니다. 빌드 할 때마다이 메시지가 계속 표시되었습니다. 아무것도 도울 수없는 것 같았습니다.
사실 문제는 마이그레이션으로 인해 하나 의 코드 폴더 에 두 개의 프로젝트 를 넣어야한다는 점과 관련 이 있습니다. 그중 하나는 .Net Core를 대상으로하고 다른 하나는 .Net Framework를 대상으로했으며 둘 다 동일한 .Net Standard 라이브러리를 참조했습니다. 분명히 그들은 obj
Core 프로젝트가 project.assets.json
파일을 넣는 동일한 폴더 를 공유 합니다. 실제로이 파일은 프레임 워크 프로젝트를 방해하여 정상적인 빌드를 방해합니다. Migrate from packages.config to PackageReference … 를 수행 한 경우에도 가능한 솔루션 중 하나로 권장되었습니다.
프레임 워크 프로젝트 파일에 다음 코드 조각을 넣어 문제를 해결할 수 있습니다.
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
그것은 즉시 저에게 효과가 있었고 나중에 왜 그것이 필요한지, 왜 작동하는지주의 깊게 읽었을 때였습니다. 나는 예기치 않게에서 발견 파트 2 의 .NET 코어 3로 마이그레이션 샘플 WPF 응용 프로그램 에서 의 .NET 프레임 워크 프로젝트는 여전히 빌드 확인 만들기 섹션을 참조하십시오. BaseOutputPath
그리고 BaseIntermediateOutputPath
그들이 어디서든 잘 설명하는 경우 MSBuild에서 변수는 확실하지, 거기에 찾을 수 있습니다.
답변
그것은 VS2017에서 VS2015 프로젝트를 열 때 나에게 일어났습니다. 폴더 project.assets.json
에서를 삭제하면 obj
트릭이 발생했습니다.
어쨌든, 메시지의 프레임 워크가 파일에서 누락되었지만 거기에 추가하지 않았고 삭제했습니다.
답변
나는 라리사에게 찬성표를 던졌지 만 내가이 일에 어떻게 들어 갔는지 아는 것이 도움이 될 것이라고 생각했습니다. .net 표준 프로젝트 파일을 내 빌드에 추가했고 (많은 플랫폼을 대상으로 함) obj 폴더에있는 파편이 생성되었습니다. 안드로이드 온전한 빌드가 나오면 obj 폴더에 던져졌습니다. 내 솔루션은 사전 빌드 단계로 해당 폴더를 정리하는 것이 었습니다. 수년 동안 잘 작동했기 때문에 어려운 문제입니다. 바늘이 건초 더미를 만납니다.
답변
제 경우 .pkgrefgen/
에는 작업 폴더 아래 의 폴더를 삭제 하십시오. 이전 .net 프레임 워크를 참조하는 project.assets.json 파일이 포함되어 있습니다.
답변
.net 4.71에서도 같은 문제가 발생했습니다. 제 경우에는 단순히 packages.config에서 “package references”로 마이그레이션했습니다.
packages.config에서 PackageReference로 마이그레이션
… 내 문제가 해결되었습니다. 저에게는 어쨌든이 작업을 수행하려고했기 때문에 이미이 방법을 사용하고 있다면 위의 내용을 건너 뛰고 패키지 참조로 마이그레이션 할 것입니다.
답변
나는 아주 오래된 .NET 프로젝트를 사용하고 있는데 갑자기 멈출 때까지 잘 작동했습니다. Visual Studio 업그레이드가 나를 위해 수정되었습니다.
