簡體   English   中英

dnx451實際上意味着.net 4.5

[英]dnx451 actually means .net 4.5

我使用Visual Studio 2015 RC創建了兩個項目

  1. 一個類庫MyLib ,其目標框架是.NET Framework 4.5.1
  2. 一個ASP.NET 5項目MyWebApp ,它引用了project.json MyLib

    “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 framework 4.5而不是4.5.1? 如何使MyWebApp引用一個以.net 4.5.1為目標的庫?

這個警告似乎沒有多大意義。 即使web項目的.net版本設置為大於庫的例如,它仍然可見

"net46": {                
  "dependencies": {
    "Lib01": "1.0.0-*"
  }
}

另一個有趣的事情是,可以在.NET Framework 4.6(最新版本)中構建庫,並且仍然可以在dnx451項目中構建/運行和使用類(我已經將只讀的Queue只能在4.6中作為IReadOnlyCollection從lib傳遞到Web應用程序)。

除此之外,據我所知.net 4.5.1沒有引入API的變化,測試4.5和4.5.1之間的差異並不是很容易

最后,如果你想擺脫警告,你可以創建vNext類型類庫(包),然后從ASP.NET 5應用程序中引用它,所以你的類庫可以使用與web應用程序相同的dnx451。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM