我使用的是VS2015 CTP5,我正在引用一个用4.5.1编译的遗留类库。在编译期间,我收到此警告:
主要参考" D:\ components.dll"无法解决,因为它是针对" .NETFramework,Version = v4.5.1"框架。这是一个比当前目标框架更高的版本" .NETFramework,Version = v4.5"。
添加引用
后,这是我的project.json"frameworks": {
"aspnet50": {
"dependencies": {
"components": "1.0.0-*"
}
}
},
答案 0 :(得分:2)
由于“组件”库是为.net 45构建的,并且假设您在较旧版本的visual studio中构建该库,它将无法在aspnetcore5中运行,但可以在aspnet5上运行(这些是.net的新版本) )。如果你想摆脱错误并仍然使用你的组件库,你需要从project.json文件中删除aspnetcore5 json节点,但你构建的项目将与aspnetcore5不兼容。所以你的frameworks部分的project.json文件应该是这样的。
"frameworks": {
"aspnet50": {
"frameworkAssemblies": {
"System": "4.0.0.0"
},
"dependencies": {
}
},
"net45": {
"dependencies": { "components": "1.0.0"},
"frameworkAssemblies": { }
}
}
你的引用应该是这样的,我在组件库旁边发出警告,因为我的代码中没有这个。
您可以查看此问题以获取更多信息。
答案 1 :(得分:1)
将库添加到frameworkDependencies
而不是dependencies
"net45": {
"frameworkAssemblies": {
"components": "1.0.0"
},
"dependencies": {
// NuGet packages go here
}
答案 2 :(得分:0)
对我来说,以上都没有工作,经过花了很多时间调查......我终于找到了解决方案!
我必须在我的dll的NuGet Package Explorer中创建一个新包,保存并将其导出到本地文件夹(使用File-> Save和File-> Export命令)。然后将我的本地存储库(文件夹)声明为Visual Studio,转到Tools-> Options-> NuGet Package Manager-> Package Sources并为我的本地存储库插入一条记录 - 见下图。