2010-07-31 56 views
2

我是.NET新手,我想用VC++在.NET中創建一個簡單的應用程序。我必須在其他系統中運行此應用程序。我是否需要在其他系統上安裝.NET框架才能運行此應用程序?.NET框架是否需要運行面向.NET的VC++應用程序?

如果我需要安裝,是否有任何其他方式來創建和運行沒有.NET框架的應用程序?

回答

4

VC++通常不用於構建.NET應用程序。您可以使用C++/CLI語言擴展以VC++爲目標.NET,但主要是爲了與其他.NET語言的互操作性。

本機(即普通)C++應用程序將不依賴於.NET框架。

如果您的應用程序依賴於.NET,則必須確保框架安裝在用戶PC上。儘管某些版本的Windows提供了預安裝的.NET框架版本(請參閱https://stackoverflow.com/questions/71390/which-operating-systems-come-with-net)。

+0

我不知道它有多典型,但有些人非常喜歡C++/CLI,因爲他們可以混合使用C++特性和.NET運行時。我同意這可能是出於性能方面的原因,但C++/CLI具有其他.NET語言不具備的一些很酷的功能。 – 2010-07-31 06:03:00

1

是的。如果你的目標是.net,它必須運行.net框架。如果您使用非託管C++,那麼您不必在目標機器上安裝.net框架。但是,它不會是一個.net應用程序。

1

是的,您可以使用VC++創建針對.NET的應用程序。你需要使用/ clr標誌來告訴編譯器你的目標是CLR(公共語言運行時)。還有其他選項可用於/ clr,因此請查看微軟的info about it。在大多數情況下,沒有選項的/ clr就足夠了。

除非您特別需要混合本機代碼(=非託管C++)和CLR字節代碼(=託管C++),否則我會推薦使用專門爲.NET設計的語言。 C#是主要的候選人。有了良好的C++背景,你會發現C#本身並不是什麼大的挑戰。你可能會花更多的時間學習類庫。

無論您使用哪種語言來爲CLR生成字節碼,.NET框架都需要在目標計算機或設備上可用。微軟將其作爲操作系統的一部分或作爲單獨的下載提供。作爲替代方案,特別是對於非Microsoft平臺,Mono項目可能是一種選擇。

相關問題