1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        將 .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?項目,則它引用的項目應(yīng)當(dāng)先改造為 .NET Standard 項目。

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

        ?

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

        ?

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

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

        ?

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

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


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

        ?

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

        try-convert


        ?

        轉(zhuǎn)換前:

        ?

        轉(zhuǎn)換后:

        ?

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

        ?

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

        ?

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

        ?

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

        ?

        那么我們接下來就來進(jìn)行 “多平臺配置” 吧。

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

        ?

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

        ?

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

        ?

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

        ?

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

        ?

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

        ?

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

        ?

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

        ?

        然后搜索并安裝:

        ?

        好了,大致就是這些了。

        ?

        參考:

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

        ?


        瀏覽 39
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            91国偷自产一区二区三区蜜芽 | 欧美男人天堂网 | 天天骚逼天天操 | 欧美午夜看片在线观看字幕 | 家庭教师av | 韩日精品在线观看 | 欧美一级特黄片 | 国产无遮挡免费观看 | 性爱一级 | 天天av天天 |