В отличие от c#, в vb. net вам не нужно пространство имен вокруг вашего класса, скорее весь код vb. net начинается в пространстве имен root без его указания. Поэтому, когда вы написали свою функцию для использования следующим образом
Namespace Customer.App.Classlibrary
Public Module MyStaticCLass
Public Sub Foo()
End Sub
End Module
End Namespace
, пространство имен Customer.App.Classlibrary
добавляется к пространству имен root.
и ваше пространство имен становится RootNamespace.ClassNamespace = Customer.App.Classlibrary.Customer.App.Classlibrary
, и вам нужно сделать
Imports Customer.App.Classlibrary.Customer.App.Classlibrary
Исправление: просто удалить пространство имен из вашего определения класса
'Namespace Customer.App.Classlibrary
Public Module MyStaticCLass
Public Sub Foo()
End Sub
End Module
'End Namespace
, и импорт будет просто
Imports Customer.App.Classlibrary
. Возможно, было бы лучше задать пространство имен root для Customer
, и вы можете поставить класс в Namespace App.Classlibrary
, который будет иметь аналогичный эффект с дополнительным преимуществом возможности разделения классов в одной сборке на более детализированные пространства имен. Это зависит от вашего желаемого дизайна.