如何在不安装 .net 的情况下 运行 .net 应用程序?

How to run a .net app without installing .net?

我在 visual studio 中制作了一个使用 C# 和 .net 的应用程序。我希望人们能够在不安装 .net 的情况下使用该应用程序,有什么方法可以将 .net 包含在 exe 中

C# 与 .NET 框架紧密绑定,没有它就无法工作 - 即使像字符串这样的“基本”数据类型也是 .NET 的一部分,而不是语言的一部分。所以“不,不是真的”是这里的答案 - 需要一个版本的框架才能 运行 您的应用程序。 现在,您可以做一些事情,但最简单的是将目标框架版本设置为已安装在目标 OS

上的版本

如果 OS 包含它,您的应用应该 运行 无需安装额外的框架。

但是有一个本地编译器(从 4.5 版开始),应该可以解决框架的这个问题。

你也可以查看这个Compiling Apps with .NET Native

如果您使用 .NET Core 3.1+ 开发了应用程序,那么 Publish self-contained 应用程序。

示例:发布 Windows 64 位可执行文件 - dotnet publish -r win-x64

注意 - 要构建和发布,当然,您需要 .NET SDK。但是一旦你发布了一个独立的应用程序并获得了可执行文件:

The user of your app isn't required to download and install .NET Core.