2013-07-21 54 views
1

如何使機器獨立和.Net框架(依賴項)上創建項目上C# - .net。從項目生成的'exe'文件在沒有安裝.Net的機器上不可執行。這個錯誤彈出:如何使.Net框架(依賴項)獨立的'EXE'文件從.Net

要運行這個程序,你必須首先安裝.NET.Framework以下版本之一:V4.0.30319

想拍在PC上安裝依賴文件(.Net FW等)的安裝程序文件。

由於項目的要求,我想打一個「EXE」,每一個Windows計算機上運行,而無需安裝軟件依賴sofware - >淨FW。只需單擊並執行s/w exe即可。

是否有可能使這樣的機器獨立'exe'的Windows從.Net ??

+1

你想吃,但不想把任何東西在你的嘴。 – Ehsan

+1

用c或C++編寫代碼 –

+0

將它們虛擬化http://technet.microsoft.com/en-us/appvirtualization/dd146065.aspx http://spoon.net/studio –

回答

2

這不是完全可能的(有一些工具可以讓你捆綁依賴關係,但我不會推薦使用它們)。

對此的最佳方法是使用盡可能古老的框架,例如.NET Framework 3.0。這樣你就可以使用已經預裝在幾乎所有正在使用的系統上的框架版本。換句話說,您可以確保您的程序可以在儘可能多的系統上運行。只要提供一個鏈接到運行時,以防有人仍然錯過它。

還只是要說明,與.NET Framework的前幾次迭代發生的情況相比,這樣做要好得多:那些可執行文件只會因爲一個複雜的錯誤消息而不會告訴用戶它只是運行時缺失而崩潰。隨着時間的推移它有了很大的提高

另外,就像另一種選擇:您是否想過使用ClickOnce部署?這將允許您爲用戶提供一個簡單且最少的安裝程序,他們也不會真正看到。它只會下載並安裝仍然缺失的依賴項。此外,它還包含在任何版本的VisualStudio中,即使是Express版本也是如此。

+0

ClickOnce的+1 –

+0

我可以使用哪種開發類似於VS和.Net的其他語言和IDE?喜歡哪個可以給我一臺獨立的機器.exe? – sdkjain

+0

您可以使用.net。只需使用.NET運行時的舊版本,您就不必擔心這一點。作爲替代方案,您可以使用C或C++並將您的程序與靜態運行時庫鏈接起來,因此您沒有外部依賴關係。但是,如果這是可行的,則實際上取決於您的實際使用情況,例如你想創建一個簡單的圖形用戶界面,或者你只想處理事情,編寫遊戲等等。 – Mario

1

這個錯誤彈出

錯誤。只需提醒用戶,程序運行之前,您的程序需要.NET 4纔可用。他會點擊「是的,請!」一切都自動解決。

您可以創建一個安裝程序以避免該消息。但是,鑑於你不想這樣做,而且它已經爲你照顧,所以沒有什麼意義。

更多地瞭解這一切看起來,爲什麼是這樣工作的this answer

+0

是否有任何其他語言和IDE可用於開發類似於VS和.Net的IDE?喜歡哪個可以給我一臺獨立的機器.exe? – sdkjain