如何在不捆绑.Net框架的情况下发布.Net应用程序?

时间:2020-03-06 14:31:28  来源:igfitidea点击:

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

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

Ngen会解决这个问题吗?我一直在寻找发布C ++应用程序的好方法(使用链接器仅链接所需的二进制文件)。

解决方案

如果软件需要.NET,则最终用户将需要相同版本的.NET。我们不能像在MFC或者Delphi中那样将.NET"链接"到可执行文件中以创建单个.exe。如果安装程序未安装.NET运行时,则需要确保用户知道是否这样做,并将其指向从Microsoft下载的.NET。

你检查sal了吗?remotesoft

不使用Ngen的一种选择可能是使用.Net Framework 3.5 SP1"客户端配置文件"进行发布。这是用于构建客户端应用程序的.Net Framework的子集,可以将其下载为单独的,更小的程序包。

在此处查看BCL团队博客和Scott Guthrie的详细信息。

仅供参考,

这个话题已经讨论过了。不幸的是,我目前无法找到链接(SO搜索应该得到改善)。

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

.NET Framework依赖性

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

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

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

我们还可以包括在VS中创建的引导程序" setup.exe"。它会检测我们是否具有必需的.net版本,如果是,则启动安装程序;否则,启动安装程序。如果没有,它将提示我们下载框架。