Visual studio 项目对其他项目的依赖不复制exe

Visual studio project dependency to other project doesn't copy exe

我有一个 C# 解决方案 (visual studio 2017) 有两个项目可以说 AB,都编译为可执行程序。项目 A 依赖于项目 B 的 exe,我虽然对项目 B 的依赖可以解决这个问题.但是,构建时不会自动复制 exe。

依赖项是否不适用于 exe?是进行 post 构建步骤的唯一解决方案吗?

查看您的依赖项的属性并为您的 exe 设置 "Local Copy",这应该将 exe 复制到您的 A.exe 的 bin 文件夹中。

编辑: 这是德文版,但应该是这样的:

我想你想要一个 post-构建事件。

听起来您已经设置了项目依赖关系,这很好,因为在项目 A 之前构建项目 B 很重要。将项目 B 的项目依赖关系添加到项目 A 是这样做。

这是 adding/removing 项目依赖项的文档:https://msdn.microsoft.com/en-us/library/et61xzb3.aspx

在项目 A 中,您可以添加一个 post 将复制项目 B exe 的构建事件。

  1. 右键单击项目 A,然后选择 "Properties"。
  2. 切换到 "Build Events" 选项卡。
  3. 添加命令:copy "FromPath" "ToPath"

copy 命令的文档在此处:https://technet.microsoft.com/en-gb/library/bb490886.aspx?f=255&MSPPError=-2147217396

如果单击 "Edit Post-build",您将获得一个迷你编辑器,其中有一个标记为 "Macros" 的按钮。

如果您单击该 "Macros" 按钮,那么它将允许您以 $(foo).

格式插入替换字符串

这些宏允许您获取项目或解决方案文件夹等内容,因此您可以轻松构建指向正确位置的路径。

这里有一些关于构建事件的文档:https://docs.microsoft.com/en-us/visualstudio/ide/how-to-specify-build-events-csharp

以下是构建事件属性页面上的一些(蹩脚的)文档:https://docs.microsoft.com/en-us/visualstudio/ide/reference/build-events-page-project-designer-csharp

这里有一些关于宏的(有用的)文档:https://msdn.microsoft.com/en-us/library/c02as0cs.aspx

您可以使用 Post-构建事件(项目属性 -> 构建事件)在构建结束时复制文件。