在.NET中开发桌面应用程序时,是否有可能不需要.NET Framework?使用.NET开发软件是开发桌面应用程序的首选方式吗?软件公司用来开发桌面应用程序的最常用编程语言是什么?
.NET Framework的要求是否只是基于您安装的Windows操作系统而假定的,因此他们列出了Windows操作系统版本要求?
在.NET中开发桌面应用程序时,是否有可能不需要.NET Framework?使用.NET开发软件是开发桌面应用程序的首选方式吗?软件公司用来开发桌面应用程序的最常用编程语言是什么?
.NET Framework的要求是否只是基于您安装的Windows操作系统而假定的,因此他们列出了Windows操作系统版本要求?
你仍然可以使用C/C++为Windows桌面开发应用程序,而不需要.NET框架,但你需要确保必要的库已经在系统上或已安装。
使用.NET框架的好处是,Windows XP SP2和Vista默认安装了3.0框架运行时。
在很多方面,这是微软的“开发标准”,并且已经保持了一段时间。这样可以避免在应用程序中附加大量库文件的问题,如果你坚持使用所有.NET提供的库,你只需关注部署可执行文件,这会大大减轻负担。当你需要部署一堆库文件时,更新时就会遇到麻烦,因为你必须确保这些更新已被推送到现有的安装程序和所有现有的已安装应用程序中。
至于“首选”,这总是会引起争议,但是我经常访问的求职网站上越来越需要.NET开发人员来进行网络和桌面开发。8^D
编辑:非常感谢Orion指出我的框架混淆。如果你使用XP SP2或Vista,则可以获得3.0“出门即用”。其他版本则需要简单下载或运行Windows更新。
如果没有 .Net framework,你将无法运行 .Net 应用程序。框架会处理一些繁琐的后台任务,因此如果没有框架,你将无法运行应用程序。
在Windows平台上,使用.NET是开发桌面应用程序的首选方式。.NET的WinForms模型是一种开发传统或厚客户端应用程序的方法,而.NET的Windows Presentation Foundation则是微软最新的技术方向。
Mono有一个Windows版本,如果你绝对要避免依赖.NET的话。
无论如何,你在任何运行你的应用程序的计算机上都需要一个.NET兼容的运行时。所以如果你想完全避免使用.NET,你可能需要将Mono运行时与你的应用程序一起分发。
.NET应用程序分发的最佳实践是,安装程序与所需框架的.NET可再发行安装程序进行引导,以便如果所需框架尚未安装(例如,在Windows XP中需要3.5),则安装程序将自动安装。
.NET运行时的安装大小足够小,这是可行的(.NET 2.0大约为24MB,还没有检查.NET 3.5有多大)。
我认为如果你能够像静态链接.NET框架那样做,以便不必开发它,那么你将违反微软提供的最终用户许可协议!
这是我们为拥有如此丰富的开发体验所付出的代价!当你考虑回到MFC编程的困难时,这是值得的!
Remotesoft提供一个链接器 - 单个开发人员许可证为1250美元: http://www.remotesoft.com/linker/index.html
如果您的应用程序将在Mono上运行(而且Mono的Winform桌面支持现在非常好),您可以将您的应用程序打包成一个Mono bundle,这是一个单独的可执行文件。有两个选项 - 默认包括运行时但不静态链接到它,另一个则静态链接到Mono运行时。您可能不想静态链接的原因是它会使您的应用程序受到LGPL的限制; 没有静态链接的bundle(仍然只是一个单一的exe)没有这个要求。 http://www.mono-project.com/Mono:Runtime#Bundles
您可以考虑使用"ClickOnce 部署",它使得将 .Net 2.0、3.0 和/或 3.5 可再发行安装程序的引导程序添加到您的应用程序非常容易。只需在项目属性中勾选一个复选框,您的安装程序将自动检测预备条件框架是否已安装,并在未安装时进行安装。
它并不适用于每种情况,但如果您能够利用它,它会非常流畅。