回答

1

沒有 - 你不能靜態地包括.NET運行時在自己的應用程序

8

你可以使用ILMerge所有組件合併成一個可執行文件。但是你仍然需要安裝框架運行時。要將您的可執行文件轉換爲本機可執行文件,您可以查看this question

0

我不確定,但它聽起來像是希望.NET框架(或您的應用程序所需的部件)包含在安裝程序中,因此它是100%獨立的,是嗎? 我知道如果ClickOnce應用程序尚未安裝,它可以下載.NET,但如果您部署到網絡連接有限或無網絡的計算機上,這無濟於事。 據我的理解,你可以重新分配框架與你的應用程序:

http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx,但我從來沒有做過自己。

編輯:你的應用程序的可執行文件實際上並不需要安裝一個安裝程序(它會運行,如果你只是雙擊它),但如果你包括其他文件(如.NET的可再發行組件)那麼你可能會需要某種安裝程序。

1

是的,.NET應用程序可以是一個.exe文件。您可以只編寫一個在.NET框架之外沒有依賴關係的程序集,也可以使用ILMerge將多個程序集合併爲一個程序集。不過,用戶仍然需要安裝適當版本的.NET框架;這是沒有辦法的。

+0

我不想單獨安裝.net框架,因爲這個應用程序適用於沒有網絡,沒有互聯網和運行可啓動的精簡版的Windows(如BartPE等)的機器。它用於診斷電腦問題? – Belliez 2010-01-21 17:04:23

+0

@Belliez:正如我所提到的那樣,它看起來有可能在您的應用程序中重新分配.NET框架。我從來沒有做過,但我已經看到更多的信息herE:http://msdn.microsoft.com/en-us/library/xak0tsbd.aspx – FrustratedWithFormsDesigner 2010-01-21 17:17:33

+0

@Belliez:框架*將*必須安裝,但如果你爲您的應用程序創建一個安裝項目,您可以自動爲您安裝該框架。但是,您不能*僅分發沒有框架的.exe文件;那是不可能的。 – 2010-01-21 18:52:30

0

使用稱爲應用程序虛擬化的概念,可以將.net應用程序打包到單個可執行文件中。這不是世界上最實際的事情,但它是可能的。

我寫了一些關於它的更多細節以響應this post

相關問題