Я использую VS 2015.
Ваш проект не ссылается на платформу «.NETFramework, Version = 4.5». Добавьте ссылку на .NETFramework, Version = 4.5 в разделе «frameworks» вашего project.json, а затем повторно запустите восстановление 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 нет раздела времени выполнения. Вы должны добавить '"runtimes": {"win": {}}' в свой project.json, а затем повторно запустить восстановление NuGet.
Я попытался сделать так, как предлагала эта ошибка, и добавил
"runtimes": {
"win": {}
},
Это вызвало у меня эту ошибку, которую я не могу преодолеть:
В вашем project.json нет списка win в качестве целевой среды выполнения. Вы должны добавить '"win": {}' в раздел "runtimes" в файле project.json, а затем повторно запустить восстановление NuGet.
Я уже добавил "выигрыш", и это начинает казаться отвлекающим маневром. Что я делаю, изменяя напрямую project.json, разве NuGet не справляется с этим?
источник
Ответы:
На самом деле я только что понял проблему. В итоге я щелкнул на
Restore Nuget Packages
уровне решения, и мне удалось скомпилировать свойPCL
файл, а затем и остальную часть моего решения.Надеюсь это поможет.
источник
У меня была такая же проблема, и мне пришлось удалить не только содержимое
bin
иobj
папки, но и.vs
каталог для решения.источник
У меня была та же проблема - это все еще происходит при использовании Visual Studio 2017.3, который использует файлы .csproj вместо project.json. Интересно, что сообщение об ошибке по-прежнему содержит текст «project.json».
Похоже, что причиной этой проблемы является файл блокировки или
obj\project.assets.json
файл (в зависимости от вашей версии VS) из предыдущей сборки, который не удаляется во время очистки, как описано здесь. .Удаление
/obj
каталога вручную - быстрое решение.Если у вас есть «новый» проект (например, проект .NET Core или netstandard, созданный в VS 2017) и «старый» проект в том же каталоге (например, проект .NET 4.6, созданный в VS 2015), похоже, они будут постоянно бороться, потому что они оба используют
./obj
каталог по-разному. Больше информации здесь. .Обходной путь 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, и попробовать полную очистку git. Убедитесь, что вы понимаете последствия очистки Git, прежде чем делать это.
источник
У меня была такая же проблема после обновления до Visual Studio для Mac 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. Приведенные здесь советы тоже не помогли, поэтому мне пришлось на собственном горьком опыте выяснить, что мне пришлось установить последний Android SDK (Oreo 8.1) в дополнение к моему целевому SDK (Nougat 7.1).
источник
У меня такая же проблема, но я решил, добавив соответствующий ресурс пакета слепков по
vs2017-->tools-->options-->Nugetpacakge manager--->updated
правильному URL- адресу пакета.См. Изображение ниже
источник