在obj \ Debug文件夹中生成EXE

时间:2010-07-09 05:48:15

标签: winforms visual-studio-2005 exe

我继承了一个Windows窗体应用程序,我发现每次编译时都会生成一个.EXE文件到obj \ Debug文件夹中。

我更像是一种Web Forms开发人员,所以我对这里发生的事情感到有些困惑。为什么它是.EXE而不是.DLL?这个文件实际代表什么?这是Windows窗体应用程序的默认行为吗?或者,我的前任是否必须以某种方式进行设置?

据我所知,该解决方案没有部署项目。

4 个答案:

答案 0 :(得分:2)

他们在delhpi中有很多类型的胜利申请。如果您创建Windows窗体,如果您正在创建动态链接Liberary(DLL),则会在调试文件夹中创建.exe文件。将创建.dll文件。每次编译应用程序时都会创建这些文件。

答案 1 :(得分:1)

为什么这是一个问题?控制台应用程序项目也在obj / Debug文件夹中有exe文件。 obj文件夹不用于运行应用程序 - 它们用于在bin文件夹中创建结束二进制文件。

如果问题是关于exe vs dll,那么编译的exe文件用于运行应用程序。在Web环境中,您使用了dll,因为ASP.NET新增了如何从中运行代码。但Windows知道如何运行exe文件,因此您的任何代码实际上都可以编译为可执行文件。

答案 2 :(得分:1)

每个应用程序都是web或windows将具有执行的入口点。 .Net中编译形式的任何内容都是一个不必总是DLL文件的程序集。 EXE文件是一个.Net程序集,在文件开头有一个入口点和几个标题,它们将自己标识为Windows操作系统的独立可执行文件。对于您的Web应用程序,您的asp.net页面是用户在浏览器中键入并启动应用程序的入口点。如果是独立的Windows窗体桌面应用程序,它是一个EXECUTABLE文件,用户可以点击运行。

  

我更像是一种Web Forms开发人员,所以我对这里发生的事情感到有些困惑。为什么它是.EXE而不是.DLL?

说到这里,同样重要的是要注意,就像asp.net不是开发网络应用程序的唯一平台[你有php,jsp等],.Net windows表格也不是唯一的方法来创建独立的可执行文件。你可以用C,C ++,VB,Delhpi等制作EXE,唯一不同的是它们不会是.Net程序集,但所有这些包括.Net可执行文件都会有一个入口点来开始执行,而EXE标题就是在主机Windows操作系统上将它们标识为可执行文件。

答案 3 :(得分:0)

为什么它会成为DLL?这是一个应用程序 - 它必须是可以启动的,不像一个网站“生活在”网络服务器内(有效地)。 exe文件应用程序(当然还有它需要的任何库)。双击它,它将启动应用程序。没问题。

话虽如此,你几乎应该忽略obj目录 - 它只是一个中间目录。 bin目录是您应该从中获取构建结果的目录。