1

好的,这就是问题所在。我有2个项目。一个是主项目(可执行),另一个是库。

  • MyNameSpace.Libraries.TheHolyMefLibrary
  • MyNameSpace.TheProduct

这两个项目的默认输出路径是bin\Debug\,所以当我编译主应用程序时,在调试文件夹中我可以找到可执行文件以及库。

现在,我想要以下输出:

  • bin\Debug\MyExecutable.exe
  • bin\Debug\plugins\TheHolyMefLibrary.dll

但是当我将库的输出路径更改为 时bin\Debug\plugins\,编译器仍然会创建以下输出

  • bin\Debug\MyExecutable.exe
  • bin\Debug\TheHolyMefLibrary.dll

我如何确保,无论哪个项目链接到库,它始终位于主程序集的输出路径的子文件夹中,即使在设置解决方案中也是如此?

4

2 回答 2

2

为了解决这个问题,我认为最好的方法是创建一个Post-build script将链接程序集 DLL 移动到插件文件夹的位置。当您右键单击应用程序项目文件并选择Properties然后转到Build Events选项卡时,您可以找到构建后脚本编辑器。要创建构建脚本,您可以使用CMD命令,例如MOVE您的案例中的命令或XCOPY.

于 2013-03-26T12:46:37.453 回答
0

将引用程序集的“复制本地”属性设置为 False,以停止将其复制到主项目的 bin 文件夹。

于 2013-03-27T02:55:37.867 回答