DLL引用没有复制到项目bin中

Dav*_*New 38 .net c# solution .net-assembly visual-studio

项目A引用项目B,项目B引用外部DDL(使用NuGet恢复).DLL应该被复制到 Project A的bin文件夹(以及 Project B的DLL):

DLL引用复制到Bin

在我的例子中,当运行项目A时,我得到以下异常抛出:

无法加载文件或程序集'PostSharp,Version = 3.2.18.0,Culture = neutral,PublicKeyToken = b13fd38b8f9c99d7'或其依赖项之一.该系统找不到指定的文件.

DLL未被复制到项目A的bin中.来自Project B的所有其他外部引用都被正确复制,这对我来说很困惑.

Copy Local对于所涉及的所有引用,都设置为true.例:

复制本地参考

我该怎么做呢?

注意:使用Visual Studio 2013.

Dav*_*New 22

我找到的选项是:

  • 在项目A中添加对PostSharp的引用.
  • 在项目B中添加虚拟代码,以便编译器检测到正在使用该引用.
  • 添加构建事件以强制复制DLL.

我不喜欢上述任何解决方案.在我看来,它们是黑客攻击,从长远来看,只能制造一个更难以维护的解决方案.

我已经通过使用公共输出目录修复了该问题.这似乎是许多人推荐的解决方案.我也经历了更快的构建时间.请参阅此Stackoverflow帖子.

  • 我还发现dll需要使用相同版本的.net框架 (4认同)