共用方式為


疑難排解 .NET Framework 目標錯誤

本主題說明可能因參考問題的 MSBuild 錯誤,以及如何解決這些錯誤。

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

您建立的應用程式,可以參考以不同 .NET Framework 版本為目標的專案或組件。 例如,您可以建立目標為 Client Profile 供 .NET Framework 4 ,但是參考組件以 .NET Framework 建立的應用程式。 不過,因此,如果您建立之專案的目標 .NET Framework的舊版,則無法在該專案的參考為目標 .NET Framework 4 或 .NET Framework 4 的用戶端設定檔的專案或組件。 若要解決這個錯誤,請確定您的應用程式以與設定檔相容的專案或組件以您的應用程式參考的設定檔或設定檔。

您將專案的目標重新設定為不同版本的 .NET Framework

如果您變更 .NET Framework 的目標版本應用程式中, Visual Studio 可讓您參考,不過,您可能必須手動更新某些參考。 例如,其中一個先前提到的錯誤,就可能會發生您變更應用程式的目標 .NET Framework 3.5 Service Pack 1 ,以及該應用程式會依靠 .NET Framework 4的用戶端設定檔的資源或設定。

在應用程式設定若要解決,請開啟 [方案總管],選取 [顯示所有檔案],然後編輯 Visual Studio XML 編輯器的 app.config 檔案。 變更設定的版本符合適當的 .NET Framework 版本。 例如,您可以將版本設定從 4.0.0.0 變更為 2.0.0.0。 同樣地,加入資源的應用程式中,開啟 [方案總管],選取 [顯示所有檔案] 按鈕,展開 [我的專案] (Visual Basic) 或 (C#) [屬性] ,然後編輯 Visual Studio XML 編輯器的 Resources.resx 檔案。 將版本設定從 4.0.0.0 變更為 2.0.0.0。

如果應用程式有資源 (例如圖示或點陣圖或設定 (例如資料連接字串,您可以移除所有項目。 [專案設計工具] 的 [設定] 頁面然後重新加入必要的設定來解決錯誤。

您將專案的目標重定為不同版本的 .NET Framework 後無法解析參考

如果您專案的目標重定為 .NET Framework不同版本的參考,您無法在其他情況下正確解析。對組件的明確完整參考通常會導致這個問題,不過,您可以取消無法解析然後重新加入至專案的已解析參考它。 或者,您可以編輯專案檔取代參考。 首先,會移除下列形式的參考:

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

然後您用這個簡單形式加以取代:

<Reference Include="System.ServiceModel" />
注意事項注意事項

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

請參閱

工作

如何:以 .NET Framework 版本為目標

概念

.NET Framework Client Profile

其他資源

以特定的 .NET Framework 版本或設定檔為目標

MSBuild 多目標概觀