为什么可执行文件放在VS2005的Visual Basic中的obj \ Debug或obj \ Release文件夹中?

时间:2011-06-24 21:37:53

标签: vb.net visual-studio-2005

我正在尝试更新几个月前在Visual Studio 2005 VB上开发的应用程序。

项目的“构建输出路径:”指向我收集了一些与我的活动相关的可执行文件的文件夹 BinDir / 。它就在我磁盘上项目的文件夹 ProjName / 旁边。

与过去相反,当我现在构建项目时, .exe 是在 ProjName / obj / Debug 文件夹中创建的,而不是定向到< strong> BinDir / Debug 文件夹。

在IDE的输出标签中(构建时),生成的可执行文件的路径正确显示,但实际上它位于其他位置。

为什么会这样?

更新:今天我的计算机上出现了一些非常奇怪的东西......几个小时后我再次尝试,现在似乎可以在两个地方创建可执行文件。 obj / version现在只是多余的。

1 个答案:

答案 0 :(得分:0)

您在更新中看到的内容是Visual Studio 2005中Visual Basic生成通常会发生的情况。构建在中间目录(obj \ debug)中创建可执行文件,然后将可执行文件从那里复制到最终构建输出目录(BINDIR \调试)

通常打开最小日志记录,如果检查构建输出,您应该看到vbc命令包含switch /out:obj\Debug\yourproject.exe,它告诉编译器在obj \ debug fdirectory中创建可执行文件。然后你应该看到文件被移动到构建输出yourproject -> C:\TestPrograms\Vb.net\yourproject\bin\Debug\yourproject.exe

如果您使用工具|选项|项目和解决方案|构建并运行以将“MSBuild项目构建输出详细程度”属性设置为“详细”,您可以看到针对obj \ debug目录的更多活动,然后查看从该中间目录复制到构建输出目录的各种项目输出文件

可以使用宏$(Targetdir)$(IntermediateOutputPath)来访问这两个目录,就像使用这样的构建事件一样......

echo target: $(Targetdir)
echo intermediate: $(IntermediateOutputPath)

在原始问题中,听起来像从中间版本到构建输出的副本要么失败,要么没有尝试在中间目录中只留下一个exe的副本。

现在回过头来看已经太晚了,但通常构建输出窗口会告诉您更多关于副本失败的原因。