我正在使用VS 2015。
您的项目未引用“.NETFramework,Version = 4.5”框架。在项目的“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没有runtimes部分。你应该在project.json中添加'"runtimes": { "win":{} }',然后重新运行NuGet restore。
我尝试按照这个错误提示添加了runtimes部分:
"runtimes": {
"win": {}
},
这个错误提示我无法跨越,如下所示:
“你的project.json没有将'win'列为目标运行时。你应该在project.json的"runtimes"部分中添加'"win": {}',然后重新运行NuGet restore。”
我已经添加了"win",但这开始感觉像一个转移注意力的话题。我为什么要直接修改project.json文件?NuGet不是应该处理这个吗?