【问题标题】:Why is the executable placed in the obj\Debug or obj\Release folder in Visual Basic of VS2005?为什么VS2005的Visual Basic中的可执行文件放在obj\Debug或obj\Release文件夹下?
【发布时间】:2011-09-22 08:59:16
【问题描述】:

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

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

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

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

为什么会这样?

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

【问题讨论】:

  • 请不要交叉发帖 - 如果您输入错误的网站(不是论坛),我们会为您迁移问题。
  • @ChrisF - 搜索两个站点,这个主题似乎出现在两个站点中。起初,我认为 SU 适合这个问题。只是在发布后,我搜索了 SO,发现它也是一个有效的主题。另一个站点响应速度较慢,所以我在这里试试运气。如果我有权限,我会自己迁移它。
  • 这是一个可以同时出现在两者上的主题,但由于它是关于编程工具的,它的 Stack Overflow 主题。您可以随时标记帖子以引起版主注意,他们会为您迁移(如果社区没有先到达那里)。
  • @ChrisF - 好的,去删除另一个帖子,但我看到它已经完成了。谢谢。

标签: vb.net visual-studio-2005


【解决方案1】:

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

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

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

$(Targetdir)$(IntermediateOutputPath) 可用于访问这两个目录,如使用这样的构建事件可以看到...

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

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

现在回去查看已经太晚了,但通常构建输出窗口会告诉您更多关于复制失败的原因。

【讨论】:

  • 感谢您的回答,弗兰克。当您说“Visual Studio 2005 中的 Visual Basic 构建通常会发生这种情况”时,您的意思是通常不将 exe 放在目标文件夹中吗?正如我在问题中提到的,“输出”选项卡确实显示了所需的位置,但该文件实际上并不存在(但 vshost 文件是)。
  • 抱歉,我专注于您问题的“更新”部分,没有正确解决原始问题。您应该期望看到的是首先在中间文件夹 (ProjName/obj/Debug) 中创建 exe,然后将其复制到构建输出路径 (BinDir/Debug)。在您问题的前半部分,听起来副本由于某种原因失败(或未尝试)。构建输出窗口可能会告诉您更多信息,但您可能不再有可用的了。
  • 非常感谢 $(IntermediateOutputPath) 我有另一个问题,所以我使用 $(IntermediateOutputPath) 解决了它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-04
  • 1970-01-01
  • 2011-07-15
相关资源
最近更新 更多