我有一个奇怪的要求,即在不捆绑.Net框架的情况下发布应用程序(以节省内存占用和带宽)。

这可能吗?客户可能会或可能不会在其系统上安装.Net运行时。

Ngen会不会照顾这个问题?我一直在寻找类似于发布C ++应用程序的好方法(使用链接器仅链接您需要的二进制文件)。

有帮助吗?

解决方案

不使用Ngen的一个选项可能是使用.Net Framework 3.5 SP1“客户端配置文件”发布。这是用于构建客户端应用程序的.Net Framework的子集,可以作为单独的,小得多的软件包下载。

详见 BCL团队博客 Scott Guthrie在这里

其他提示

在这种情况下的常见解决方案,标准事实上,您的客户应该拥有.Net框架的正确版本,只要它是Windows Update的一部分。因此,您的安装程序应检查您在客户端计算机上使用的.NET版本的可用性,并建议从Microsoft下载它。这将阻止贵公司通过您的渠道进行转移,并确保您的应用程序具有正确的基础架构,

你检查过蝾螈吗? remotesoft

仅供参考,

已经讨论过这个主题。不幸的是,我现在找不到链接(应该改进搜索结果)。


好的,我发现了类似的问题:

.NET Framework依赖关系

我记得有完全相同的问题,但我找不到:(

如果您的软件需要.NET,那么您的最终用户将需要相同版本的.NET。你不能“链接” .NET将您的可执行文件创建为单个.exe,就像您可以使用MFC或Delphi一样。如果您的安装程序没有安装.NET运行时,那么您需要确保用户知道是否这样并将它们指向Microsoft的.NET下载。

您可以使用“客户端配置文件”,它是桌面应用程序的.NET Framework的子集。客户端配置文件的大小约为20 MB

您还可以包含在VS中创建的引导程序“setup.exe”。它会检测您是否有必要的.net版本,如果是,则启动安装程序;如果没有,它会提示你下载框架。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top