Как мне ссылаться на модуль в VB из пакета NuGet - PullRequest
1 голос
/ 30 октября 2019

Я создал свой собственный частный сервер NuGet и разместил два пакета, написанных на VB, один с одним открытым классом и один с модулем, содержащим некоторые методы расширения. Когда я ссылаюсь на пакеты в моем приложении, я могу создать новый экземпляр класса из пакета, но я не могу использовать любые методы, объявленные в модуле. Я знаю, что модули должны содержаться в пространстве имен, поэтому у меня есть ощущение, что мне может понадобиться сослаться на него где-нибудь, чтобы использовать его. Кто-нибудь знает, что мне нужно делать? Спасибо.

В настоящее время у меня есть следующее:

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

1 Ответ

1 голос
/ 30 октября 2019

Импорт пространства имен модуля в вашем коде

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

Это относится и к модулям в отдельных файлах.

...