3

我有一个在 VB.NET 中完成的项目,我想发布它以供分发。我知道当我构建解决方案时它会创建一个 .Exe。但这需要当地资源。如果我为发布而构建,我知道它可以工作,但它仍然需要安装 .Net 平台。无论如何,如果他们没有安装.NET,是否可以制作一个真正的独立 .exe 或可以在个人计算机上运行的东西。ClickOnce 应用程序也不是一个想要的解决方案。

是否有任何转换器程序可以为我做到这一点?

4

3 回答 3

3

.NET 框架代表了运行 .NET 程序的基本前提;相当于安装 Windows 是运行 Windows 程序的先决条件。请记住,任何 Windows 版本都包含 .NET 框架(实际上,它往往涉及最高优先级的更新,因此在许多情况下由 Windows 更新自动执行)。在过去 10 年中创建的在 Windows 上运行的大部分程序都是基于 .NET 框架构建的;相关比例的站点(例如这个站点)是基于 ASP.NET 构建的,因此给定的服务器必须包含 .NET 框架。如果您担心整体兼容性,您可能会依赖有点旧的 .NET 版本:VS 2010 (4.0) 中的最新版本应该适用于大多数现代计算机;但是您甚至可以完全确定前一个(3.5)。最后,请记住,.NET 程序也可以在 Windows 以外的操作系统(例如 Linux 或 MacOS)下运行;虽然,根据我过去的经验,这些都不是太可靠的情况。尽管如此,如果对其他操作系统感兴趣,您应该在这方面进行一些研究/测试,看看可用选项是否提供您正在寻找的东西。

摘要:Visual Studio生成的exe文件实际上就是你所说的“独立.exe”。它的定义功能之一是 .NET 版本(可以在项目设置中更改);程序只能在 .NET 框架(或等效框架)等于或更新于构建程序的计算机上运行。对于大多数新的/正确更新的计算机,4.0 版本应该可以;.NET 3.5 几乎可以与任何计算机一起使用(尽管从逻辑上讲,它包含的功能比 4.0 少)。

---------------------------- 评论后更新-------- -

从一些评论中,我明白我的陈述并不像我想象的那么清楚,这就是这次更新的原因

  • .NET 仅从 Vista 开始预安装在 Windows 中。XP 默认不包含 .NET 运行时。在我的回答中没有提到这个问题的原因是没有 .NET 的 XP Windows 是极不可能的。首先,因为这是最优先的自动更新,因此计算机第一次连接到互联网时,“Windows 更新”会处理这个问题。其次,因为这是过去 10 年来任何 Microsoft 编程的基本框架,因此没有它的 Windows 计算机将几乎无法运行任何东西。最后一句话,我不介意大多数程序都是基于 .NET 构建的,但对于基于 Windows 的环境,现在大多数基本要求确实包括 .NET。

  • 还有人指出,不同的 .NET 版本之间存在一些兼容性问题(需要各种并行版本)。Microsoft 对不同 .NET 版本的基本方法是向后兼容,这意味着给定的 .NET 版本可以运行使用该版本或更早版本构建的任何程序。这在理论上是正确的,但实际上并不总是正确的。我解决这个问题的方法是依赖一个有点旧的 .NET 版本(3.5),而不是使用太新/未经测试的功能(例如,WPF)。如果你想要一个完全兼容的程序,你应该在这方面做很多工作(版本之间的兼容性是任何编程平台最典型的问题之一),而不是指望微软来处理所有事情。因此,原则上,只需安装一个 .NET 版本(最后一个)(另一方面,大部分计算机并非如此;例如:计算机包括 3.5 版本,多年来通过维护以前的版本更新到 4.0 和 4.5)。

  • 最后,我想强调一下,我对这个答案的意图并不是捍卫任何编程方法而不是任何其他方法。我只是从您的问题“我可以删除 .NET 部分吗?”的角度来描述有什么内容?-> 不,你不能;没有(明智的)方法可以做到这一点。如果您想依赖不同的编程平台,您应该了解它(我相信 Camilo Martin 会非常乐意在这方面为您提供帮助)。如果您更喜欢依赖 .NET,请确保您可以生成一个整体兼容的程序(在 Windows 上运行)。


于 2013-06-16T09:28:49.273 回答
1

在 VB.NET-2010 中转换为 .exe 的简单方法:

  1. 创建新项目

  2. 选择 Windows 应用程序并保存正确的路径

  3. 完成项目然后选择文件-> 全部保存

  4. 选择构建->开始构建

您的项目 .exe 创建了您的项目保存路径:

  1. 选择 Windows 应用程序 1

  2. 选择 bin 文件夹

  3. 选择调试文件夹

在 Debug 文件夹中,您的 .exe 文件已准备就绪。

于 2017-08-03T12:46:36.253 回答
-1

Quick Basic 一旦生成并可执行 (.exe) 直接形成他们的 VB 代码,但我不建议转换为 Quick Basic。你可以看看 Mono 看看他们是否还有任何东西。(mono 允许您在其他操作系统中使用已编译的 vb.net)。

Ezirit Reactor 生成一个可执行文件,但它不是免费的。

您可以将 .NET Framework 捆绑到您的发行版中,这样用户就无需下载它。

为什么需要可执行文件 (.exe)?如果原因是为了安全并尽量减少逆向工程的机会,那么请使用一个好的混淆器。

于 2013-06-29T23:10:44.663 回答