我正在尝试更新几个月前在Visual Studio 2005 VB上开发的应用程序。
项目的“构建输出路径:”指向我收集了一些与我的活动相关的可执行文件的文件夹 BinDir / 。它就在我磁盘上项目的文件夹 ProjName / 旁边。
与过去相反,当我现在构建项目时, .exe 是在 ProjName / obj / Debug 文件夹中创建的,而不是定向到< strong> BinDir / Debug 文件夹。
在IDE的输出标签中(构建时),生成的可执行文件的路径正确显示,但实际上它位于其他位置。
为什么会这样?
更新:今天我的计算机上出现了一些非常奇怪的东西......几个小时后我再次尝试,现在似乎可以在两个地方创建可执行文件。 obj / version现在只是多余的。
答案 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的副本。
现在回过头来看已经太晚了,但通常构建输出窗口会告诉您更多关于副本失败的原因。