Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VB.NET在两个程序集中定义的相同命名空间的变通方法_Vb.net_Namespaces_Itextsharp - Fatal编程技术网

使用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

iTextSharp程序集在核心程序集中包含BouncyCastle命名空间,但我正在使用的VB.Net应用程序已经使用了不同版本的BouncyCastle。我认为C#可以通过使用“extern alias”来解决这个问题,但我在VB.NET中找不到如何做到这一点


在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