共用方式為


針對 .NET Framework 目標錯誤進行疑難排解

適用於: Visual Studio

本主題描述 可能因為參考問題而發生的 MSBuild 錯誤,以及如何解決這些錯誤。

參考以不同 .NET 版本為目標的專案或組件

您可以建立參考以不同 .NET 版本為目標的專案或元件的應用程式。 例如,您可以建立以 .NET 6 為目標的應用程式,但參考以 .NET Core 3.1 為目標的元件。 不過,您無法在以舊版 .NET 為目標的專案或元件以 .NET 6 為目標的專案或元件中設定參考。 以下是您可能會在此案例中看到的錯誤範例:

error NU1201: Project ClassLibrary-NET6 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Project ClassLibrary-NET6 supports: net6.0 (.NETCoreApp,Version=v6.0)
2>Done building project "ClassLibrary-NET31.csproj" -- FAILED.

若要解決此錯誤,請確定您的應用程式是以與應用程式所參考專案或元件為目標之版本相容的 .NET 版本。

將專案重新設為不同版本的 .NET

如果您變更應用程序的目標 .NET 版本,Visual Studio 會變更一些參考,但您可能必須手動更新某些參考。 例如,如果您將應用程式變更為以 .NET Core 3.1 為目標,且該應用程式具有依賴 .NET 6 的參考、資源或設定,可能會發生上述其中一個錯誤。

顯示變更 Visual Studio 中目標架構的螢幕快照。

更新 app.config 中的參考

若要解決 .NET Framework 應用程式中的應用程式設定,請遵循下列步驟:

  1. 開啟 [方案總管]。
  2. 選取 [ 顯示所有檔案],然後在 Visual Studio 的 XML 編輯器中編輯 app.config 檔案。
  3. 變更設定中的版本,以符合適當的 .NET 版本。 例如,您可以將版本設定從 4.0.0.0 變更為 2.0.0.0。

同樣地,針對已新增資源的應用程式,請遵循下列步驟:

  1. 開啟 [方案總管]。
  2. 選取 [ 顯示所有檔案]。
  3. 展開 [我的專案 ] (Visual Basic) 或 [屬性 ] (C#),然後在 Visual Studio 的 XML 編輯器中編輯 Resources.resx 檔案。
  4. 將版本設定從 4.0.0.0 變更為 2.0.0.0。

更新資源

如果您的應用程式有圖示、位圖或設定等資源,例如數據 連接字串,您也可以移除項目設計工具 [設定] 頁面上的所有專案,然後讀取必要的設定,來解決錯誤。

您將專案重新設為不同版本的 .NET,且不會解析參考

如果您將專案重新設為不同版本的 .NET,在某些情況下,您的參考可能無法正確解析。 對元件的明確完整參考通常會導致此問題,但您可以移除無法解析的參考,然後將其新增回專案來解決此問題。 或者,您可以編輯專案檔來取代參考。 首先,移除下列格式的參考:

<Reference Include="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />

然後,以簡單形式取代它們:

<Reference Include="System.ServiceModel" />

注意

在關閉並重新開啟專案後,您也應該重建它,以確保能夠正確解析所有參考。

參考資料