簡體   English   中英

將.NET項目從4.5轉換為4.0的最簡單方法?

[英]easiest way to convert .NET project from 4.5 to 4.0?

我有一個我在4.5中構建的.NET應用程序,它引用了一堆用4.5構建的庫,它們本身引用了4.5等。我正在嘗試分發應用程序的用戶組正在使用運行可執行文件的問題,因為它們已安裝4.0; 特別是,他們遇到了MissingMethodException:

Method not found: 'System.Type System.Runtime.InteropServices.Marshal.GetTypeFromCLSID(System.Guid)'.

因為我們可能無法將每個用戶升級到4.5(因為他們都沒有在他們的計算機上擁有管理員權限,這需要為每個用戶單獨升級請求),我正在尋找一種簡單的方法來重建項目為4.0 。 這似乎要求我在4.0中重建每個庫及其引用的庫; 有沒有比通過逐個瀏覽每個庫並構建4.0版本更簡單的方法? 我想也許就像“重建目標框架中所有引用的庫”之類的一鍵式選項或類似的東西。

當我使用Visual Studio時,我右鍵單擊項目,更改框架,修復引用並重新編譯。 通常直截了當。

如果您依賴.Net 4.5 DLL,那么如果您想成功降級項目,還需要獲得.Net 4.0版本。 .Net項目只能將.Net DLL引用到與引用程序集相同的.Net版本。

最簡單的方法是使用NuGet之類的東西來管理依賴項。 請注意,當您在VS中更改項目的目標框架版本時,您需要使用NuGet卸載並重新安裝依賴項,因為當您更改目標框架版本時,NuGet不會自動為您執行此操作。

當然,如果所有依賴項都是您自己的代碼,並且您沒有通過像NuGet這樣的依賴管理系統發布它,那么您需要將所有其他代碼降級到.Net 4.0

請看一下這個MSDN頁面,以正確地將項目切換到較低的目標框架而不會出現問題! 對於涉及版本的問題,它有點過時,但過程是相同的描述!

這是基於我的經驗。 我有一個最初在.net framework 4.5中創建的應用程序,但我想在.net framework 4.0中進行轉換。 我創建了最初創建4.0的新項目,然后我復制並粘貼了我以前的應用程序的所有表單和控件,它的工作原理。 Framework 4.5正在使用Aero2而4.0則是Aero ...祝你好運:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM