我使用Visual Studio 2015 RC创建了两个项目
MyLib
.NET Framework 4.5.1
在MyWebApp
中引用MyLib
的ASP.NET 5项目project.json
:
“frameworks”:{ “dnx451”:{ “依赖”:{ “Lib01”:“1.0.0- *” } }, }
当我尝试构建MyWebApp
时,会发出警告:
MSB3274:无法解析主要参考“C:\ MyWebApp \ src \ MyLib \ bin \ Debug \ MyLib.dll”,因为它是针对“.NETFramework,Version = v4.5.1”框架构建的。这是一个比当前目标框架“.NETFramework,Version = v4.5”更高的版本。
如果我将MyLib
的目标框架更改为4.5,则警告将消失。
似乎MyWebApp
的目标是.net框架4.5而不是4.5.1?
如何使MyWebApp
引用定位.net 4.5.1的文库?
答案 0 :(得分:0)
这个警告似乎并不重要。即使web项目的.net版本设置为大于库,例如,它仍然可见。
"net46": {
"dependencies": {
"Lib01": "1.0.0-*"
}
}
另一个有趣的事情是,可以在.NET Framework 4.6(最新版)中构建库,并且仍然可以在dnx451项目中构建/运行和使用类(我已经通过了只读的队列,只能在4.6中使用作为从lib到web应用程序的IReadOnlyCollection。)
除此之外,据我所知.net 4.5.1没有引入API的更改,并且测试4.5和4.5.1之间的差异并不是很容易
最后,如果你想摆脱警告你可以创建vNext类型类库(Package),然后从ASP.NET 5 Application中引用它,所以你的类库可以像web应用程序一样使用dnx451。