使用VB.NET在两个程序集中定义的相同命名空间的变通方法
iTextSharp程序集在核心程序集中包含BouncyCastle命名空间,但我正在使用的VB.Net应用程序已经使用了不同版本的BouncyCastle。我认为C#可以通过使用“extern alias”来解决这个问题,但我在VB.NET中找不到如何做到这一点使用VB.NET在两个程序集中定义的相同命名空间的变通方法,vb.net,namespaces,itextsharp,Vb.net,Namespaces,Itextsharp,iTextSharp程序集在核心程序集中包含BouncyCastle命名空间,但我正在使用的VB.Net应用程序已经使用了不同版本的BouncyCastle。我认为C#可以通过使用“extern alias”来解决这个问题,但我在VB.NET中找不到如何做到这一点 在VB.Net中是否存在与extern alias等效的名称空间,或以任何其他方式从特定程序集中排除特定名称空间?您可以在导入中使用以下名称空间别名: Imports [ aliasname = ] namespace -or- Im
在VB.Net中是否存在与extern alias等效的名称空间,或以任何其他方式从特定程序集中排除特定名称空间?您可以在导入中使用以下名称空间别名:
Imports [ aliasname = ] namespace
-or-
Imports [ aliasname = ] namespace.element
即
有关完整信息,请参阅MSDN参考资料:您是否询问如何在应用程序中使用同一程序集的两个不同版本?如果不是,答案是不全局导入名称空间,而是每次引用完整路径。例如,文本是一个流行的命名空间,存在于许多程序集中。例如,当我想要类似StringBuilder程序集的东西时,我必须以全名
System.Text.StringBuilder
作为前缀。这就是您需要的吗?您第一次是对的-应用程序需要使用相同类的两个不同版本,但是这些类在两个不同的程序集中定义。目前,我似乎只能通过在整个应用程序中使用第二个版本来获取。我认为此解决方案适用于使用来自不同名称空间的同名类,我的问题是在两个不同的程序集中定义相同的名称空间。
Imports strbld = System.Text.StringBuilder
Imports dirinf = System.IO.DirectoryInfo
Public Function GetFolders() As String
Dim sb As New strbld
Dim dInfo As New dirinf("c:\")
For Each dir As dirinf In dInfo.GetDirectories()
sb.Append(dir.Name)
sb.Append(ControlChars.CrLf)
Next
Return sb.ToString
End Function