Вероятно, это произошло из-за using static directive
или nested namespace
.
Например, если AP.xyz
вложено в PX.Objects.AP
, то ошибка компилятора не возникает:
Когда AP.xyz
вложено в другое пространство имен, оно не найдено:
Проблема с using static directive
немного отличается, но приводит к той же ошибке.Это может произойти, потому что код времени выполнения использует IIS для компиляции, а компилятор IIS не является последним компилятором dot net.Таким образом, using static directive
может работать, когда вы компилируете динамическое расширение библиотеки в Visual Studio, но может не работать, когда оно компилируется IIS как часть настройки времени выполнения.
Простое решение - отредактировать файлы либо:
Полностью квалифицировать идентификаторы, изменив AP.xyz
на PX.Objects.AP.xyz
Иногда все, что требуется, это удалить AP.
и добавить, используя PX.Objects.AP
вверху файла, если его там нет.Когда есть конфликт между двумя типами с одинаковыми именами в разных пространствах имен, вы должны использовать метод # 1.