27

我是一名学生,目前我正在一家公司实习。这个实习是关于分析一个项目的。对于这个项目,我做了一个演示来展示给营销总监。我制作的演示是在 Visual Studio 2010 中使用 c# 创建的一个简单项目,带有 Windows 窗体和与 Access 数据库的连接。

所以现在我必须在演示中向这位导演展示这个演示,但是在演示之后,导演想要在他的计算机上的项目,以便他可以尝试使用它。现在的问题是,这家公司的计算机没有 .NET 框架 4.0,而且这里的计算机受到如此严格的保护,我们无法安装任何新的东西。要安装某些东西,您必须经历一个需要数周时间的过程。

我已经在互联网上查看过,但我发现的只是如何安装 .NET 框架。

有没有什么可能的方法可以创建一个独立的 exe 而无需安装 .NET 框架?请帮忙!

4

8 回答 8

13

如果要执行使用 Net Framework 4 开发的应用程序,则需要在客户端计算机上安装 .Net Framework 4。

您的应用程序是用 CIL(通用中间语言)编译的,因此需要由框架引擎解释。

如果你想执行一个Java程序也是一样的。您必须安装 Java 机器。

您不需要安装框架的唯一方法是使用 C、C++ 编写本机应用程序。

于 2013-05-23T07:35:13.770 回答
13

C# 现在通过 .NET Native 支持这一点。

它不会编译为中间语言,而是编译为本机代码并使用静态链接的 .NET 库运行。因此,最终用户将没有 .Net 运行时要求。

https://msdn.microsoft.com/en-us/vstudio/dn642499.aspx

https://msdn.microsoft.com/en-us/library/dn584397(v=vs.110).aspx

仅适用于 Windows 10

于 2015-10-15T20:34:46.923 回答
8

没有 .NET Framework 就无法构建 C# 可执行文件。即使某些资源表明您可以,但这仅在理论上有效。

但是您可以使用旧版本的 .NET Framework,例如 .NET 4.0。如果这对您不起作用,您必须选择像 C++ 这样根本不需要 CLR 的语言。

2018 年更新:

不要以 .NET 2.0 或 3.5 为目标。它与 4.x 版本不兼容。但是,.NET 4.0 目标二进制文件适用于 .NET Framework 4.0、4.5、4.6、4.7 等。因此,要达到最大的兼容性,请使用.NET 4.0进行编译。您将不得不接受某些功能将不可用,但是,您的二进制文件几乎可以在任何地方运行。

(2018:到目前为止,.NET 2.0 - 3.5 的分布远低于 4.x)

于 2013-05-23T07:37:13.233 回答
6

Delphi 是您的解决方案,部署本机 bin 可执行文件

于 2013-09-11T03:38:45.533 回答
1

是的,这是可能的!

至少存在 3 种方式:

1.您可以检查您计划运行您的应用程序并使用此类版本的 .NET 构建的所有操作系统。由于 Windows 有一个内置的框架库。

Vista -.NET v3.0 -- 所有服务包

Windows 7 - .NET v3.5 - 所有版本和服务包

Windows 8 - .NET v4.0 [不确定时的最佳选择]

Windows 8.1 - .Net v4.5

Windows 10 - .Net v4.6

因为它们已经默认预安装——不需要额外安装。


2.对于Windows 10,您可以使用“.NET Native”将其编译为本机代码(但不能编译为CIL) 。这意味着应用程序不需要 .Net Framework。


3.Turbo Studio (早期的Spoon 和早期的XenoCode)可以包装您的应用程序所需的所有内容并作为独立运行。

从他们的网站:

涡轮工作室

在没有 .NET 的情况下运行 .NET。轻松将运行时依赖项(如 .NET、Java 和 SQL)直接嵌入到虚拟应用程序中。无论底层组件安装如何,都能在任何桌面上可靠启动。

于 2019-01-12T07:43:38.903 回答
0

您可以使用 Mono 并静态链接您的程序,因此您的程序不需要 .NET CLR 运行时并充当独立程序。

单声道项目

于 2018-03-19T17:27:02.417 回答
0

在更现代的 .NET 版本(例如 5 和 6)中,甚至在 .NET Core 版本中,它已成为一种支持的方案,可以生成所谓的单文件可执行文件和自包含应用程序。

据我了解,这些技术取代并建立在 Mono 开发堆栈中已有一段时间的一些功能之上。通常,我已经看到此功能用于将部署到服务器(例如网站和微服务)的应用程序,但是它可以用于原始海报所示的场景。

使用 .NET SDK 发布(生成可执行文件)来生成单文件可执行文件可以使用以下命令来完成,该命令直接来自文档。

dotnet publish -r win-x64 -p:PublishSingleFile=true --self-contained true

有关更多详细信息,请参阅Microsoft .NET 文档站点中的单个文件部署和可执行文件。

于 2021-06-14T15:13:34.927 回答
-4

老实说,现在这真的不是问题。.NET 框架现在几乎在每台计算机上都可以找到,您甚至可以使用 Advanced Installer 制作安装程序,在安装程序时在您的计算机上静默安装 .NET 框架。

于 2016-05-31T07:22:53.833 回答