Nuget:指定依赖项而不添加引用

2024-05-08

我有一个包(例如 MyStuff.Data)需要 EntityFramework(和其他)才能工作,但仅限于内部。我不希望每个使用 MyStuff.Data 的项目也引用 EntityFramework(以及所有其他项目),但 dll 始终需要存在。

有什么方法可以将 EntityFramework 添加为 MyStuff.Data 的依赖项(以便它在包文件夹中获取 EntityFramework.dll),但无需将引用添加到使用它的每个项目中?


不,那里没有。一种选择可能是嵌入 EntityFramework dll 并将其发送到您自己的包中,并明确说明在安装过程中应在目标项目中添加哪些引用。您可以使用包的 nuspec 中的元数据元素来指定这一点。更多信息可以在此处的文档中找到:http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Explicit_Assembly_References http://docs.nuget.org/docs/reference/nuspec-reference#Specifying_Explicit_Assembly_References

请注意,嵌入特定版本的依赖项是对所有使用者的限制,这意味着您作为包生产者,将驱动您的使用者可以并且将使用哪个版本的 EF...这不是一个好主意所处的情况。

最好,您尝试抽象出任何非受控 (EF) 依赖项,并将真正的实现选择留给消费者(或者您提供包含实现的单独包,以便您的消费者仍然可以选择加入并使用您的实现)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nuget:指定依赖项而不添加引用 的相关文章

随机推荐