dnx451实际上意味着.net 4.5

时间:2015-06-04 02:56:52

标签: asp.net-core

我使用Visual Studio 2015 RC创建了两个项目

  1. 其目标框架为MyLib
  2. 的类库.NET Framework 4.5.1
  3. MyWebApp中引用MyLib的ASP.NET 5项目project.json

    “frameworks”:{   “dnx451”:{     “依赖”:{       “Lib01”:“1.0.0- *”     }   }, }

  4. 当我尝试构建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的文库?

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。