题
我有一个奇怪的要求,即在不捆绑.Net框架的情况下发布应用程序(以节省内存占用和带宽)。
这可能吗?客户可能会或可能不会在其系统上安装.Net运行时。
Ngen会不会照顾这个问题?我一直在寻找类似于发布C ++应用程序的好方法(使用链接器仅链接您需要的二进制文件)。
解决方案
不使用Ngen的一个选项可能是使用.Net Framework 3.5 SP1“客户端配置文件”发布。这是用于构建客户端应用程序的.Net Framework的子集,可以作为单独的,小得多的软件包下载。
详见 BCL团队博客和 Scott Guthrie在这里。
其他提示
在这种情况下的常见解决方案,标准事实上,您的客户应该拥有.Net框架的正确版本,只要它是Windows Update的一部分。因此,您的安装程序应检查您在客户端计算机上使用的.NET版本的可用性,并建议从Microsoft下载它。这将阻止贵公司通过您的渠道进行转移,并确保您的应用程序具有正确的基础架构,
你检查过蝾螈吗? remotesoft
如果您的软件需要.NET,那么您的最终用户将需要相同版本的.NET。你不能“链接” .NET将您的可执行文件创建为单个.exe,就像您可以使用MFC或Delphi一样。如果您的安装程序没有安装.NET运行时,那么您需要确保用户知道是否这样并将它们指向Microsoft的.NET下载。
您可以使用“客户端配置文件”,它是桌面应用程序的.NET Framework的子集。客户端配置文件的大小约为20 MB
您还可以包含在VS中创建的引导程序“setup.exe”。它会检测您是否有必要的.net版本,如果是,则启动安装程序;如果没有,它会提示你下载框架。
不隶属于 StackOverflow