我正在使用VS 2015。
您的项目未引用" .NETFramework,Version = 4.5" 框架。添加对" .NETFramework,Version = 4.5"的引用在里面 "框架" 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"
}
}
}
}
以下是我的尝试:
结果是同样的错误。
您的project.json没有运行时部分。你应该添加 '"运行时":{" win":{}}'到你的project.json然后重新运行NuGet 还原
我尝试按照建议的错误并添加
"runtimes": {
"win": {}
},
这让我犯了这个错误,我似乎无法过去:
你的project.json没有列出“赢”的信息。作为目标运行时。你应该 添加"赢得":{}'在你的"运行时" project.json中的部分, 然后重新运行NuGet恢复。
我已经添加了#34; win",这开始感觉像是一只红鲱鱼。我在做什么直接改变project.json,是不是NuGet正在处理这个?
答案 0 :(得分:150)
我遇到了同样的问题,我不仅要删除bin
和obj
文件夹的内容,还要删除解决方案的.vs
目录。
答案 1 :(得分:116)
我遇到了同样的问题 - 仍然使用Visual Studio 2017.3,它使用.csproj文件而不是project.json。有趣的是,错误消息仍然包含文本“project.json”。
此问题的原因似乎是来自先前版本的锁定文件或obj\project.assets.json
文件(取决于您的VS版本),在清除as described here期间不会将其删除。
手动删除/obj
目录是一种快速解决方法。
如果您有一个“新”项目(例如在VS 2017中创建的.NET Core或netstandard项目)和同一目录中的“旧”项目(例如在VS 2015中创建的.NET 4.6项目),它们将会显示不断战斗,因为他们都以不同的方式使用./obj
目录。 More info here.
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>
答案 2 :(得分:26)
另外,我今天发现有一个流氓project.lock.json给我造成了这个问题。删除文件后,问题就消失了。
答案 3 :(得分:10)
我其实只是想出了问题。我最终在解决方案级别单击Restore Nuget Packages
,然后我设法编译了我的PCL
文件,然后编译了我的其余解决方案。
希望这有帮助。
答案 4 :(得分:2)
更新到Visual Studio for 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项目文件。这里的提示也没有帮助,所以我必须找出除了目标SDK(Nougat 7.1)之外我必须安装最新的Android SDK(Oreo 8.1)的艰难方法。
答案 5 :(得分:0)
我有同样的问题,但是我已经通过在以下位置添加适当的块包资源来解决
vs2017-->tools-->options-->Nugetpacakge manager--->updated
正确的软件包网址。
请参考下图
答案 6 :(得分:0)