<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          將 .NET Framework 項目轉(zhuǎn)換為 .NET Standard 項目

          共 1518字,需瀏覽 4分鐘

           ·

          2020-08-23 14:04

          將?.NET?Framework?項目轉(zhuǎn)換為 .NET?Standard?項目

          獨立觀察員 2020 年 8 月 20 日

          如今 .NET?Core?是未來發(fā)展的主流(至少在 .NET 5 發(fā)布之前),而我們?nèi)绻脑煲粋€項目為 .NET?Core?項目,則它引用的項目應當先改造為 .NET Standard 項目。

          下表給出了每種平臺支持指定的 .NET Standard 版本的最低版本(參考):

          ?

          簡單說明一下:.NET Standard 2.0 支持 .NET Core 2.0 和 .NET Framework?4.6.1(最好使用 4.7.2 或更高),所以使用這些版本的話就不用進行多平臺配置了。.NET Standard 2.1 開始就和 .NET Framework 不兼容了,這種情況還是要多平臺配置。(關于多平臺配置,后面會提到)

          ?

          言歸正傳,我們?nèi)绾螌?Framework 類庫項目轉(zhuǎn)換為 Standard 類庫項目呢?答案就是使用 dotnet try-convert 工具。

          安裝前先要確保你已經(jīng)安裝了 .NET Core?SDK?(get it here),然后在任務欄搜索 “cmd”,以管理員身份運行:

          ?

          使用如下命令安裝或卸載:

          :: 安裝:dotnet tool install -g try-convert:: 卸載:dotnet tool uninstall -g try-convert


          我已經(jīng)安裝過了:

          ?

          接下來在項目路徑打開 cmd,使用如下命令進行轉(zhuǎn)換:

          try-convert


          ?

          轉(zhuǎn)換前:

          ?

          轉(zhuǎn)換后:

          ?

          可以看到已備份了舊的項目文件,并修改出了新的項目文件。這時我們點擊 VS 的彈框重載項目即可(沒有打開 VS 則無此操作):

          ?

          由于使用了新的項目文件,我們在項目上右鍵,就能看到 “編輯項目文件” 的選項:

          ?

          打開后發(fā)現(xiàn),項目類型還是 .NET Framework 4.5.2(net452):

          ?

          在項目上右鍵–屬性,可以看到目標框架也還是以前的:

          ?

          那么我們接下來就來進行 “多平臺配置” 吧。

          首先,在項目文件中將 TargetFramework 改為 TargetFrameworks (加個 “s”),然后里面的內(nèi)容加上 “netstandard2.0” ,并與之前的內(nèi)容以分號隔開,修改后如下:

          ?

          然后我們關閉 VS 并重新打開(重新加載解決方案),再次查看項目屬性,可以看到目標框架里沒有指定特定的內(nèi)容了,生成一下也沒什么錯誤,說明配置成功了。

          ?

          另外,新式項目的依賴項組織形式也發(fā)生了變化:

          ?

          如果解決方案里有多個項目需要轉(zhuǎn)換,也可以定位在解決方案目錄,然后執(zhí)行轉(zhuǎn)換命令(try-convert),已轉(zhuǎn)換的項目會自動跳過,剩余項目將自動批量轉(zhuǎn)換:

          ?

          通過命令輸出,我們還得知了新式的項目類型叫做 “.NET SDK-style project” ,哈哈,漲姿勢了。

          ?

          如果 .NET Standard 依賴項中出現(xiàn)了黃色三角形:

          ?

          可以看看該項是否需要,不需要的可以移除。另外,在打開的類文件標簽下方可以手動選擇當前在什么框架下查看:

          ?

          如果有引用在 .NET Standard 框架下沒有,可在 “包” 上右鍵–“管理 NuGet 程序包”:

          ?

          然后搜索并安裝:

          ?

          好了,大致就是這些了。

          ?

          參考:

          《從 .NET Framework 移植到 .NET Core 的概述》

          ?


          瀏覽 39
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  俺也去资源另类在线 | 青青草成人免费在线视频 | 簧片视频在线观看免费 | 日韩传媒中文字幕一区 | 国产情侣第一页 |