c# - exe 需要 .NET 桌面运行时

标签 c# .net exe

我通过使用Windows Forms应用程序和Microsoft Visual Studio安装程序中的安装项目开发了一个exe文件。执行该 exe 时,它​​将显示一些 GUI 并要求一些用户输入(例如,下一步,安装)。该exe是在我的系统上创建的,并且正在我的系统中执行。但是,当我在不同的计算机上运行相同的 exe 文件时,它会显示消息(您必须安装 .NET 桌面运行时才能运行此应用程序)。在该计算机上安装 .NET Desktop Runtime 后,它可以正常工作。我们是否可以有其他解决方案来运行应用程序而不安装 .NET 桌面运行时??????

我一直在尝试在执行正在运行的应用程序时安装 .NET 桌面运行时,但我的目标是在计算机上不安装 .NET 桌面运行时的情况下运行该应用程序。

最佳答案

摘自这篇文章Publish with Visual Studio - microsoft.com

The alternative is to publish a self-contained application, where the .NET runtime and runtime libraries are bundled together with the application and third-party assemblies.

这给了我们两个解决方案:

  • 使用 Visual Studio 进行发布
  • 使用 dotnet cli 发布

使用 Visual Studio

  1. 在解决方案资源管理器中,右键单击要发布的项目,然后选择“发布”。
  2. 选择“更多操作”>“编辑”。
  3. 在“配置文件设置”对话框中,设置以下选项:
    • 将部署模式设置为独立。
    • 将目标运行时设置为您要发布到的平台。
  4. 保存您刚刚在第 3 步中所做的设置。
  5. 发布

使用 Dotnet CLI

如果使用 CLI,dotnetpublish -r win-x64 应该适合您。

CLI 选项 -r 表示为给定运行时发布应用程序,您可以在此处找到所需的 RUNTIME_IDENTIFIER(RID) .NET RID Catalog - microsoft.com .

关于c# - exe 需要 .NET 桌面运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76880630/

相关文章:

c# - 为什么这个正则表达式不能正确匹配?

c# - .Network 中的 LINQ Where() 子句如何?

c++ - 用户 DLL/EXE 中的堆分配失败

c# - 如何更新 .NET Core 和 .NET Framework 应用程序之间共享的程序集

c# - 如何生成制表符分隔的 txt 文件?

c# - 如何取消 WPF TabControl 中的选项卡更改

c# - 调试器在没有任何解释的情况下终止应用程序(在 CryptoStream.ReadByte() 调用中)

java - 使用launch4j将jar转换为exe后出现JNI错误

javascript - 如何使用 Electron 中的按钮打开 exe 文件

java - 如何处理10位拜耳数据(字节数组)