Похоже, что происходит скрытие некоторого пространства имен.В проектах VB.NET существует корневое пространство имен, для которого по умолчанию установлено имя вашего проекта.Вы можете проверить это в Проект -> Свойства -> Приложение -> Корневое пространство имен .
Когда класс явно указывает пространство имен, корневое пространство имен имеет префикс к нему.Например, допустим, ваше корневое пространство имен - RootNs
.Поскольку файл DynamicLinq.vb
задает пространство имен System.Linq.Dynamic
, это действительно RootNs.System.Linq.Dynamic
.Это скрывает обычное пространство имен .NET System
, поэтому Visual Studio предлагает префиксировать все ваши пространства имен с Global
.
Стоит отметить, что в C # эта концепция отличается, поэтому я бы не сталожидать, что эта проблема возникнет, когда кто-то использует версию C # DynamicLinq
.
. Чтобы исправить это, у вас есть несколько вариантов (выберите один):
Удалитеобъявление пространства имен из DynamicLinq.vb
и удаление любых полных уточнений из объектов в этом файле, которые используют System.Linq.Dynamic
.Другими словами, System.Linq.Dynamic.Signature
становится Signature
.Чтобы использовать его в другом месте, добавьте Imports System.Linq.Dynamic
.
Удалите корневое пространство имен из Project / Properties / Application, сделав его пустым.Таким образом ваш проект будет больше похож на C #, и вы должны явно указать пространства имен во всех ваших классах.Чтобы использовать его в другом месте, добавьте Imports System.Linq.Dynamic
.
Сохраните корневое пространство имен и просто измените пространство имен на DynamicLinq.vb
.Например, измените его на NewNs.Linq.Dynamic
и удалите полную квалификацию из Signature
, как и раньше.Чтобы использовать его в другом месте, добавьте Imports RootNs.NewNs.Linq.Dynamic
(обратите внимание на префикс RootNs
).