如何从 NuGet 包中引用 VB 中的模块
How do I reference a Module in VB from a NuGet package
我创建了自己的私有 NuGet 服务器并托管了两个用 VB 编写的程序包,一个包含一个 public class,另一个包含包含一些扩展方法的模块。当我在我的应用程序中引用包时,我可以从包中创建 class 的新实例,但我无法使用模块中声明的任何方法。我知道模块需要包含在命名空间中,所以我觉得我可能需要在某处引用它才能使用它。有谁知道我需要做什么?谢谢
我目前有以下信息:
Namespace TestHelperNamespace
Public Class TestHelper
Public Sub DoSomething()
End Sub
End Class
Public Module TestModule
Public Sub StringSub(s As String)
End Sub
End Module
End Namespace
在您的代码中导入模块的命名空间
Imports NugetModuleNamespace
这是一个 MCVE
Imports Namespace2
Namespace Namespace1
Module Module1
Private Sub foo()
Dim a = 1.23#
Dim b = a.Square() ' doesn't work without Imports
End Sub
End Module
End Namespace
Namespace Namespace2
Module Module2
<System.Runtime.CompilerServices.Extension>
Public Function Square(value As Double) As Double
Return value ^ 2
End Function
End Module
End Namespace
这也适用于单独文件中的模块。
我创建了自己的私有 NuGet 服务器并托管了两个用 VB 编写的程序包,一个包含一个 public class,另一个包含包含一些扩展方法的模块。当我在我的应用程序中引用包时,我可以从包中创建 class 的新实例,但我无法使用模块中声明的任何方法。我知道模块需要包含在命名空间中,所以我觉得我可能需要在某处引用它才能使用它。有谁知道我需要做什么?谢谢
我目前有以下信息:
Namespace TestHelperNamespace
Public Class TestHelper
Public Sub DoSomething()
End Sub
End Class
Public Module TestModule
Public Sub StringSub(s As String)
End Sub
End Module
End Namespace
在您的代码中导入模块的命名空间
Imports NugetModuleNamespace
这是一个 MCVE
Imports Namespace2
Namespace Namespace1
Module Module1
Private Sub foo()
Dim a = 1.23#
Dim b = a.Square() ' doesn't work without Imports
End Sub
End Module
End Namespace
Namespace Namespace2
Module Module2
<System.Runtime.CompilerServices.Extension>
Public Function Square(value As Double) As Double
Return value ^ 2
End Function
End Module
End Namespace
这也适用于单独文件中的模块。