【问题标题】:How to Create Framework-Dependent Executables with .NET Core 2.2如何使用 .NET Core 2.2 创建依赖于框架的可执行文件
【发布时间】:2019-01-07 13:45:03
【问题描述】:

如何使用 .NET Core 2.2 创建依赖于框架的可执行文件 (FDE)? MSDN 文档提到它们 here 作为 .NET Core 2.2 的新功能:

框架相关的可执行文件 (FDE)

从 .NET Core 2.2 开始,您 可以将您的应用程序部署为 FDE,以及任何所需的第三方 依赖关系。您的应用将使用 .NET Core 版本 安装在目标系统上。

遗憾的是,分步示例仍然只涉及自包含和依赖于框架的部署 (FDD)。

【问题讨论】:

  • 你可能想在这里投票:github.com/dotnet/docs/issues/9728.
  • @Patrick 肯定会这样做,尽管我希望比解决该问题更快地得到答案 :-) 你碰巧没有到 github 的链接实施 FDE 的问题?找不到它,但我想我可以从那里弄清楚如何做我想做的事。
  • 还有更多内容要在 .NET Core 3 上阅读 here,其中“应用程序现在默认具有可执行文件”。
  • 不,很遗憾,我必须在此处恢复使用 Google。
  • @Patrick 害怕 .NET Core 3 的东西真的只适用于 3.0。用 2.2 构建它不会产生一个 exe,但仍然只是一个没有依赖关系的 dll。但是,是的,我也可以在谷歌上搜索,看看我是否能找到一些东西——如果我能弄明白,我会回答我的问题(或者找一个知道的人)

标签: c# .net-core .net-core-2.2


【解决方案1】:

.NET Core 2.2

这样做的方法是指定一个运行时标识符,然后指定--self-contained false

dotnet publish -c Release -r win-x64 --self-contained false

这将生成一个不包括整个 .NET Core 框架的可执行文件。

.NET Core 3.0

对于 .NET Core 3.0,可以使用以下内容:

dotnet publish -c Release -r win-x64 --no-self-contained

【讨论】:

  • 注意:此问题适用于 .NET Core 2.2,但 .NET Core 3.0 的新方法是使用 --no-self-contained 标志而不是 --self-contained false
  • @Jérôme 足够公平以保持最新。我现在没有 dotnet core 3.0 项目,但我认为编辑应该可以正常工作?
  • 我用 .NET Core 3.0 进行了测试,实际上两种方式都可以。是的,您的编辑是正确的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-27
  • 1970-01-01
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 2015-09-18
  • 2023-03-03
相关资源
最近更新 更多