如何在Visual Studio中制作独立的exe文件。它只是一个简单的控制台应用程序,我认为用户不想安装一个微小的控制台应用程序。我使用Visual Studio命令提示符编译了一个简单的cpp文件。如果未安装.NET框架,exe文件是否可用?我使用本机C++代码。
如何在Visual Studio中制作独立的exe文件。它只是一个简单的控制台应用程序,我认为用户不想安装一个微小的控制台应用程序。我使用Visual Studio命令提示符编译了一个简单的cpp文件。如果未安装.NET框架,exe文件是否可用?我使用本机C++代码。
使用托管环境的任何程序都需要.NET框架支持(包括使用C#和VB.NET编写的程序)。
在这种情况下,您可以简单地重新分发您的.EXE,但如果用户没有安装适当的框架,则他们需要先安装它。
如果我理解你的问题正确,是的,你可以这样做,但不能在Visual Studio中实现(根据我的了解)。 为了让编译器生成一个真正的、独立的可执行文件(这意味着您使用C#就像使用其他语言一样),您需要使用程序mkbundle(随Mono一起提供)。这将把您的C#应用程序编译成一个真正的、无依赖关系的可执行文件。
有很多关于这个问题的误解在互联网上流传。它并不像一些人所说的那样使.net框架失去意义,因为如果您一开始就没有使用这些功能,那么您怎么会失去未来的.net框架功能呢?当您对应用程序进行更新时,在构建安装程序之前通过mkbundle处理器运行它并不需要太多的工作。这还有一个加速的好处,使您的应用程序以本机速度运行(因为现在它是本机应用程序)。
在C++或Delphi中,您也有相同的系统,但没有中间的MSIL层。因此,如果您使用命名空间或源文件(在Delphi下称为单元),则编译并包含在您的最终二进制文件中。因此,您的最终二进制文件将更大(阅读:“真实应用程序”的“正常”大小)。对于您在.net中使用的框架部分,这些也会包含在您的应用程序中。但是,智能链接确实能减少相当多的体积。
希望这可以帮到您!
当您发布项目时,您可以将“部署模式”设置为“自包含”,然后选择“生成单个文件”的选项。
我同意@Marlon的观点。当您使用Release配置编译C#项目时,您将在项目的"bin/Release"文件夹中找到应用程序的可执行文件。对于简单的应用程序,这应该是有效的。
但是,如果您的应用程序依赖于一些外部dll,则建议您使用VisualStudio创建一个SetupProject。这样做,项目向导将查找应用程序的所有依赖项并将它们(库)添加到安装文件夹中。最后,您只需要在用户计算机上运行设置并安装软件即可。
dotnet core
用户:它是一个__.dll__文件,位于__bin/Debug__和__bin/Release__目录中。 - jsstuball我从未遇到过部署C#编写的小型控制台应用程序的问题。你可能会遇到的唯一问题是依赖于.NET框架,但即使如此,这也不应该是一个主要问题。你可以尝试使用2.0版本的框架,这个版本已经在大多数PC上了。
如果使用本地的、非托管的C++,你就不应该有任何依赖于.NET框架的问题,所以你真的应该很安全。只需获取可执行文件和任何附带的文件(如果有的话),并将它们部署为原样;如果不想安装它们,也没有必要安装。
我认为不可能做到问题提问者所要求的,即通过将所有项目文件合并为一个 .exe 来避免 dll 地狱。
框架问题是一个误导。出现的问题是当您有多个项目依赖于一个库时,很难保持库同步。每次库发生更改时,所有依赖它且未更新的 .exes 都会死得很惨。
像某个回答中所说的让人学习 C 是傲慢和无知的。