小编Luc*_* L.的帖子

在 C# 中控制传递依赖

我正在用 C# 迭代开发支持库,将其放入驻留在我的文件系统中的本地 NuGet 存储库中。我注意到,每当我在我的库之一中添加 NuGet 依赖项,然后在我的一个项目中引用该库时,这会自动获得对我的库的所有 NuGet 依赖项的可见性。

这并不总是需要的,因为我的库中的名称可能会与其依赖项中的名称发生冲突。有没有办法隐藏引用库的依赖项?

示例:我正在我的库Lib 中开发一个名为foo()的函数,该库引用了一个 NuGet 依赖项Dep,该依赖项也包含一个foo()函数。现在,如果我在项目Proj 中引用Lib,默认情况下会发生的是Proj获得LibDep 的可见性,并且它可以使用其中任何一个的foo()。首选行为是 Proj 只看到Lib.foo()

更新

也许这可以作为依赖问题的一个例子:我在一个项目中同时导入了 iTextSharp 和 BouncyCastle,这行代码给出了一个编译错误:

Org.BouncyCastle.X509.X509CertificateParser cp;
Org.BouncyCastle.X509.X509Certificate[] chain;
Run Code Online (Sandbox Code Playgroud)

它说,iTextSharp的和BouncyCastle的都包含的完全合格的名称X509CertificateParserX509Certificate,这意味着iTextSharp的指BouncyCastle的,这是任何人谁又将是指iTextSharp的可见,即使没有在参考文献中列出下拉在Visual Studio。

c# nuget

5
推荐指数
1
解决办法
835
查看次数

标签 统计

c# ×1

nuget ×1