2010-07-31 94 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项目可能是一种选择。

相关问题