Nuget:指定不添加引用的依赖关系
我有一个包(说,MyStuff.Data),需要EntityFramework(和其他人)的工作,但只在内部。 我不希望每个使用MyStuff.Data的项目都引用EntityFramework(以及所有其他的),但是DLL总是需要在那里。
有没有什么办法可以将EntityFramework添加为MyStuff.Data的依赖项(以便它可以拾取Package文件夹中的EntityFramework.dll),但是没有将引用添加到每个消耗它的项目中?
不,那里没有。 一个选项可能是嵌入EntityFramework dll并将其发送到您自己的包中,并明确指出在安装期间应将哪些引用添加到目标项目中。 您可以使用nuspec软件包中的元数据元素来指定。 更多信息可以在这里的文档中找到:http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Explicit_Assembly_References
请注意,嵌入特定版本的依赖关系是对所有消费者的限制性约束,这意味着作为包装生产商,您将推动您的消费者可以使用哪种版本的EF,并且将使用...哪些不是好情况将在。
您最好尝试抽象出任何非受控(EF)依赖关系,并将实际选择留给消费者(或者您提供一个包含实现的单独包,以便您的消费者仍然可以选择使用并使用您的实现)。
链接地址: http://www.djcxy.com/p/10675.html上一篇: Nuget: specify dependency without references being added