2017-10-19 147 views
2

所以我有一個PCL項目,但是想立即更新,以支持的.Net標準如何將PCL轉換爲.NET標準庫

我已經閱讀了Microsoft website steps做到這一點:

該項目的文件
  • 單擊鼠標右鍵,選擇屬性。
  • 在Library下,選擇Target .NET Platform Standard。

但該按鈕不會在Visual Studio的最新版本2017

我也看過here存在:

  • 關閉解決方案在VS
  • 取現有的csproj並在其他地方製作 的副本。我將保留在記事本中打開其他副本。
  • 複製/粘貼您創建的新項目的內容,並替換現有項目的 內容。大部分舊 項目中的內容都不再需要了。您可能需要的是 設置,例如與 文件夾名稱/約定不匹配的任何簽名或程序集名稱。如果您的ResX文件具有設計時生成的代碼 ,則需要添加以下內容。同樣,對於 Xamarin Forms頁面,您需要這個。

但我不明白上面的步驟強調爲我的NuGet包的負載和文件的ResX所以總是會導致編譯錯誤,當我嘗試

那麼,有沒有任何直接的措施來更新PCL項目到.NetStandrard之一?

+0

我覺得它更容易只是創建一個新的解決方案和項目並複製粘貼所有類。 – Isma

+0

@Isma所有的nuget包都是什麼?我不想重新安裝所有這些。花了我足夠長的時間卸載並重新安裝它們以使用'PackageReference' – user1

回答

1

我走上的步驟一個PCL轉換爲.NET標準庫使用從here一些步驟,用我自己的混合

  1. 轉換從舊packages.config方式,所有的Nu​​Get包PackageReference

不幸的是,目前沒有任何遷移工具,所以卸載現有的軟件包可能是最容易的,請確保packages.config文件不復存在,然後在將VS選項設置爲PackageReference之後安裝軟件包。你也可以手工做(這是我爲我的項目做的)。

  1. 創建一個新的。淨標準類庫在你的項目,把它像類似MyPclProject1

  2. 將東西從舊PCL lib中的所有文件拖放到.NET Stanrdard LIB

  3. 打開老PCL的.csproj文件在記事本中,然後複製並粘貼所有PackageReference代碼粘貼到新的.Net標準的csproj文件

  4. 如果使用.resx文件,你需要添加this code到你的.NET標準的.csproj文件(不知道爲什麼)

  5. 然後更新所有REF erences從舊的PCL文件到新的.NET標準文件並刪除舊庫

  6. 重命名新的.NET標準庫老PCL名

相關問題