walterlv / BlogComments

3 stars 0 forks source link

post/share-self-deployed-dotnet-runtime-among-multiple-exes #115

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

在多个可执行程序(exe)之间共享同一个私有部署的 .NET 运行时 - walterlv

从 .NET Core 3 开始,.NET 应用就支持独立部署自己的 .NET 运行时。可以不受系统全局安装的 .NET 运行时影响,特别适合国内这种爱优化精简系统的情况……鬼知道哪天就被优化精简了一个什么重要 .NET 运行时组件呢!然而,如果你的项目会生成多个 exe

https://blog.walterlv.com/post/share-self-deployed-dotnet-runtime-among-multiple-exes

cwbcheng commented 2 years ago

似乎不支持 winform 程序……

cwbcheng commented 2 years ago

项目 xxxx 没有为框架 net6.0-windows 和运行时 win-x86 设置任何 AppHost 相关属性,因此不会修改 AppHost。

cwbcheng commented 2 years ago
runtime\6.0.1

改为

runtime\6.0.1

即可

cwbcheng commented 2 years ago

\runtime\6.0.1\ 改为 \runtime\6.0.1\ 即可

walterlv commented 2 years ago

@cwbcheng 呀,不好意思,预览版改了 API 没有同步到博客中……

walterlv commented 2 years ago

现在改好了。这两个库的 API 现已经过评审,将会稳定存在了。

cwbcheng commented 2 years ago

在 win7 的环境失效了

cwbcheng commented 2 years ago

不好意思之前谎报军情了……原来在 win7 上还需要安装 https://docs.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60#dependencies 上提到的 C++ runtime 和 KB3063858 补丁。

Gilfoylex commented 1 year ago

相比安装官网的运行时,这种自己指定运行时目录的会影响 writeminidump抓dump的时候还原C#堆栈,还需要在管理员权限下将 coreclr.dll 和 mscordaccore.dll 写到对应的注册表目录