2012-04-26 43 views
7

我有需要的EntityFramework(及其他)包(比如,MyStuff.Data)工作,但仅在内部没有引用的依赖。我不希望每个使用MyStuff.Data的项目都引用EntityFramework(以及所有其他的),但是DLL总是需要在那里。的NuGet:指定要添加

有什么办法,我可以添加的EntityFramework作为MyStuff.Data的依赖关系(因此它在包文件夹拿起EntityFramework.dll),但没有参考被添加到消耗它的每个项目?

回答

3

没有没有。一个选项可能是嵌入EntityFramework dll并将其发送到您自己的包中,并明确指出在安装期间应将哪些引用添加到目标项目中。您可以使用nuspec软件包中的元数据元素来指定。 http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Explicit_Assembly_References

注意嵌入依赖的特定版本是一个限制约束上所有的消费者来说,这意味着你作为一个封装制造商,将是驱动的版本:更多信息可以在这里的文档被发现EF您的消费者可以和将使用...这是不是一个好的情况要英寸

您最好尝试抽象出任何非控制(EF)的依赖,离开真正落实选择消费者(或者你提供了一个包含实现的单独包,所以你的消费者仍然可以选择使用你的)。