У нас есть веб-приложение asp.net со смесью vb и C #.Недавно мы представили проект в нашем приложении, пространство имен которого начинается с Global
, чтобы соответствовать структуре нашей архитектуры.Сейчас в нашем приложении есть много ссылок на это пространство имен, и переименование этих ссылок далеко от идеала.(Это было введено для выполняемой нами миграции, поэтому мы перемещаем элементы из одного проекта в другой).
Поскольку Global
является ключевым словом в vb (технически также в C #, но в C # оно нижеслучай, так что у нас все хорошо) нам пришлось добавить в него vb, как это [Global].Core.Constants
Это работало хорошо для нас до самого последнего внесенного нами изменения.Это изменение потребует ссылки Global.Core.Constants
в серверных тегах в нашем приложении.Поскольку это миграция, на старое пространство имен было указано в файле web.config для обеспечения глобального доступа к нему.К сожалению, мы сталкиваемся с проблемами при попытке сделать это с пространством имен, имя которого начинается с Global
.Ниже приведено то, что мы попробовали, и ошибки (обратите внимание, что ошибки возникают при компиляции форм ASP с использованием aspnet_compiler.exe)
<pages>
<namespaces>
<add namespace="Global.Core.Constants" />
</namespaces>
</pages>
Ошибка:
vbc: (0): ошибка BC36001: ошибка в импорте уровня проекта «Global.Core.Constants» в «Global»: «Global» не разрешен в этом контексте;ожидается идентификатор.
Следующая попытка:
<pages>
<namespaces>
<add namespace="Global.Global.Core.Constants" />
</namespaces>
</pages>
Та же ошибка
Следующая попытка:
<pages>
<namespaces>
<add namespace="[Global].Core.Constants" />
</namespaces>
</pages>
Ошибка:
C: \ dev \ Branches \ TEST \ WebApp \ web.config (105): ошибка CS1001: ожидаемый идентификатор C: \ dev \ Branches \ TEST \ WebApp \ web.config (105): ошибка CS0116: AПространство имен не может напрямую содержать элементы, такие как поля или методы C: \ dev \ Branches \ TEST \ WebApp \ web.config (105): ошибка CS0116: Пространство имен не может напрямую содержать члены, такие как поля или методы C: \ dev \ Branches \ TEST\ WebApp \ web.config (105): ошибка CS1022: определение типа или пространства имен или ожидаемый конец файла C: \ dev \ Branches \ TEST \ WebApp \ web.config (105): ошибка CS1022: определение типа или пространства именили ожидаемый конец файла
Мы попробовали несколько других вариантов, таких как псевдоним пространства имен, а затем импорт псевдонима, но это также не сработало.Есть ли у нас здесь какие-либо варианты, кроме полной квалификации?