C#:在构建项目时复制依赖项的依赖项



我有一个C#项目(例如Project.exe),它依赖于a.dll,a.dll依赖于b.dll。

当我构建 Project.exe 时,a.dll 被构建并复制到 Project 的输出文件夹中.exe但 b.dll 不会被复制到输出文件夹中。

构建 Project.exe 时,如何将 a.dll 和 b.dll 复制到 Project.exe 的输出文件夹中?

编辑:我认为重要的是要指出,我想保持Project.exe和b.dll彼此分离。这就是首先拥有.dll的意义所在。

您是否尝试检查 b.dll 的"复制本地"属性?

  1. 在 Visual Studio 中,单击"解决方案资源管理器"选项卡。
  2. 在"引用"下找到 b.dll。
  3. 右键单击并选择属性。
  4. 确保"复制本地"设置为 True。

看看这是否能解决它。

您可以使用 msbuild copy 命令来实现它。 请右键单击项目节点->卸载项目->右键单击项目->编辑项目.csproj,在csproj文件上添加以下代码。

<Target Name="AfterBuild">
  <Copy SourceFiles="$(MSBuildProjectDirectory)..b$(OutputPath)b.dll" DestinationFolder="$(OutputPath)" ContinueOnError="true"/>  
  </Target>

这是供您参考的示例。https://1drv.ms/u/s!AlvaNEnglADDgQP6j0wRMk5A1DCU

最新更新