如何使Vb.net文件/程序成为独立的.Exe

时间:2013-06-16 07:04:41

标签: vb.net vb.net-2010

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

有没有可以为我做这个的转换程序?

3 个答案:

答案 0 :(得分:2)

.NET框架代表了运行.NET程序的基本先决条件;与安装Windows相同的是运行Windows程序的先决条件。请记住,任何Windows版本都包含.NET框架(实际上,它往往涉及最高优先级更新,因此在许多情况下由Windows Update自动执行)。在过去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版本应该没问题;几乎所有计算机都可以使用3.5 .NET(虽然从逻辑上讲,它包含的功能少于4.0版本。)

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

根据一些评论,我认为我的陈述并不像我想的那么清楚,这就是这次更新的原因

  • 自Vista之后,.NET才预装在Windows中。默认情况下,XP不包含.NET运行时。在我的回答中没有提到这个问题的原因是没有.NET的XP Windows是不太可能的。首先,因为这是一个最优先的自动更新,因此计算机第一次连接到互联网“Windows Update”将负责这一点。其次,因为这是过去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上运行)。


答案 1 :(得分:1)

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

  1. 创建新项目

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

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

  4. 选择Build-> Start Build

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

    1. 选择Windows应用程序1

    2. 选择bin文件夹

    3. 选择调试文件夹

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

答案 2 :(得分:0)

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

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

您可以将.NET Framework捆绑到您的发行版中,以便用户不必下载它。

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

相关问题