我有一个引用项目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)
对不起我的英语,我不是母语人士。
答案 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
为真。