如何将引用复制到构建文件夹?

时间:2015-08-30 20:12:42

标签: c# visual-studio

我有一个引用项目B的项目A.项目B引用了EntityFramework nuget包(6.1.3)。这个包安装了两个dll:EntityFramework和EntityFrameork.SqlServer。项目A中没有对EntityFramework的引用。

当我构建项目A时,在bin文件夹中,有项目B dll和EntityFramework dll。但是没有EntityFramework.SqlServer dll。因此,我的项目运行不顺利。

为什么某些项目B依赖项被复制到主项目构建文件夹而不是所有依赖项? (两者都有"复制本地"属性设置为true)

对不起我的英语,我不是母语人士。

1 个答案:

答案 0 :(得分:3)

这是因为您的项目中没有使用EntityFrameork.SqlServer的代码,因此VS认为没有依赖关系而且不会复制它。我使用此解决方法:

public class MyContext : DbContext
{
    //workaround to force sqlserver dll to copy
    private static SqlProviderServices instance = SqlProviderServices.Instance;
}

您还可以在EntityFrameork.SqlServer项目中添加对A的引用,并为其设置CopyLocal为真。