Visual Studio构建解决方案不会将dll复制到bin文件夹,但构建项目会

时间:2015-01-15 19:56:30

标签: c# entity-framework asp.net-web-api visual-studio-2013 nuget

我有一个visual studio 2013更新4.我有一个包含多个项目的解决方案(所有C#)。

示例:

  • -MySolution
  • -Webapi项目(参考核心项目)
  • -core项目(常规类库,包含EntityFramework 6.1.2的nuget包)

如果我构建解决方案并尝试执行webapi方法,则会失败,因为EntityFramework.SqlServer.dll不在webapi项目的bin文件夹中。

但是,如果我单独构建核心项目,EntityFramework.SqlServer.dll将被复制到Webapi项目的bin文件夹中,一切都很好。

是否存在一些错误,或者我是否通过构建解决方案做错了什么?如果按顺序构建项目,我会期待相同的结果?

乍一看似乎是一些古怪的奇怪。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

"如果您根本不在代码中使用引用的DLL,它将忽略CopyLocal并且不会将其复制到您的输出目录。"说以下链接:

How does visual studio determine what to copy to the output directory with multi-project solutions?

面对同样的问题并保持这个提示,我在我的库中进行了一个虚拟调用,引用了EntityFramework.SqlServer.dll,问题得到了解决:

string result = System.Data.Entity.SqlServer.SqlFunctions.Char(65);

也许你应该试一试。