VS 2015를 사용하고 있습니다.
프로젝트가 “.NETFramework, Version = 4.5″프레임 워크를 참조하지 않습니다. project.json의 “frameworks”섹션에서 “.NETFramework, Version = 4.5″에 대한 참조를 추가 한 다음 NuGet 복원을 다시 실행합니다.
MVC 레이어에 추가 한 직후 데이터 액세스 및 비즈니스 로직 레이어에서이 오류가 발생합니다. 그때까지는 상황이 괜찮 았지만 무엇이이 오류를 유발했는지 모르겠습니다. 내 project.json은 다음과 같습니다.
{
"version": "1.0.0-*",
"description": "foo bar Class Library",
"authors": [ "foo bar" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
내가 시도한 것은 다음과 같습니다.
- 이 답변 에서 볼 수 있듯이 “dotnet5.4″를 “net451″로 바꾸고 삭제합니다 .
결과는 동일한 오류입니다.
- “dotnet5.4″를 “net45″로 바꾸고 “net451″은 그대로 둡니다. 이로 인해 새로운 오류가 발생합니다.
project.json에 런타임 섹션이 없습니다. project.json에 ‘ “runtimes”: { “win”: {}}’을 추가 한 다음 NuGet 복원을 다시 실행해야합니다.
이 오류가 제안하고 추가 한대로 시도했습니다.
"runtimes": {
"win": {}
},
이 오류가 발생하여 과거로 이동할 수없는 것 같습니다.
project.json은 대상 런타임으로 ‘승리’를 나열하지 않습니다. project.json의 “runtimes”섹션에 ‘ “win”: {}’을 추가 한 다음 NuGet 복원을 다시 실행해야합니다.
나는 이미 “승리”를 추가했고 이것은 붉은 청어처럼 느껴지기 시작했습니다. project.json을 직접 변경하는 것은 NuGet이 이것을 처리하지 않습니까?
답변
나는 실제로 문제를 알아 냈다. 결국 Restore Nuget Packages
솔루션 수준에서 를 클릭하고 PCL
파일 을 컴파일 한 다음 나머지 솔루션 을 컴파일했습니다 .
도움이 되었기를 바랍니다.
답변
이 같은 문제가 발생 bin
하여 obj
폴더 및 폴더 의 내용 뿐만 아니라 .vs
솔루션을위한 디렉토리 도 삭제해야했습니다 .
답변
나는 같은 문제가 있었다-이것은 project.json 대신 .csproj 파일을 사용하는 Visual Studio 2017.3을 사용하여 여전히 발생합니다. 흥미롭게도 오류 메시지에는 여전히 “project.json”이라는 텍스트가 포함되어 있습니다.
이 문제의 원인은 여기에 설명 된대로obj\project.assets.json
정리 중에 제거되지 않는 이전 빌드 의 잠금 파일 또는 파일 (VS 버전에 따라 다름) 인 것으로 보입니다 .
/obj
디렉토리를 수동으로 삭제하는 것이 빠른 해결 방법입니다.
“새”프로젝트 (예 : VS 2017에서 만든 .NET Core 또는 netstandard 프로젝트)와 동일한 디렉터리에 “이전”프로젝트 (예 : VS 2015에서 만든 .NET 4.6 프로젝트)가있는 경우 계속해서 싸울 것입니다. 둘 다 ./obj
다른 방식으로 dir을 사용합니다 . 여기에 더 많은 정보가 있습니다. .
msbuild 해결 방법은 프로젝트 중 하나가 다른 obj
디렉토리를 사용하도록하는 것 입니다. “이전”csproj에 추가했습니다.
<PropertyGroup>
<!-- Needed due to old project and new project in same directory: https://github.com/NuGet/Home/issues/5126 -->
<BaseIntermediateOutputPath>obj_netfx\</BaseIntermediateOutputPath>
</PropertyGroup>
답변
불량 project.lock.json이이 문제를 일으키는 것으로 나타났습니다. 파일을 삭제하면 문제가 사라졌습니다.
다음 은 project.lock.json에 대한 몇 가지 문서입니다.
몇 가지 추가 조언은 project.lock.json이 git ignore 파일에서 무시되는지 확인하고 전체 git clean을 시도하는 것입니다. 그래도하기 전에 Git 정리의 의미를 이해했는지 확인하십시오.
답변
Mac 용 Visual Studio 7.4 (빌드 1033)로 업데이트 한 후에도 동일한 문제가 발생했습니다.
Error: Your project is not referencing the "MonoAndroid,Version=v7.1" framework. Add a reference to "MonoAndroid,Version=v7.1" in the "frameworks" section of your project.json, and then re-run NuGet restore.
json 프로젝트 파일이 없습니다. 여기에있는 팁도 도움이되지 않았기 때문에 타겟 SDK (Nougat 7.1) 외에 최신 Android SDK (Oreo 8.1)를 설치해야하는 어려운 방법을 찾아야했습니다.