Acumatica - ошибка при настройке экрана «Маркетинговая кампания» - PullRequest
0 голосов
/ 27 июня 2019

У меня возникает следующая ошибка при добавлении любого настраиваемого поля или переопределении любого атрибута в существующих полях на экране Marketing Campaign:

\App_RuntimeCode\PX_Objects_CR_CRCampaign_extensions.cs(1): error CS0246: The type or namespace name 'AP' could not be found (are you missing a using directive or an assembly reference?)

Есть идеи о том, где отследить эту ошибку?

1 Ответ

1 голос
/ 27 июня 2019

Вероятно, это произошло из-за using static directive или nested namespace.

Например, если AP.xyz вложено в PX.Objects.AP, то ошибка компилятора не возникает: enter image description here

Когда AP.xyz вложено в другое пространство имен, оно не найдено: enter image description here

Проблема с using static directive немного отличается, но приводит к той же ошибке.Это может произойти, потому что код времени выполнения использует IIS для компиляции, а компилятор IIS не является последним компилятором dot net.Таким образом, using static directive может работать, когда вы компилируете динамическое расширение библиотеки в Visual Studio, но может не работать, когда оно компилируется IIS как часть настройки времени выполнения.

Простое решение - отредактировать файлы либо:

  1. Полностью квалифицировать идентификаторы, изменив AP.xyz на PX.Objects.AP.xyz

  2. Иногда все, что требуется, это удалить AP. и добавить, используя PX.Objects.AP вверху файла, если его там нет.Когда есть конфликт между двумя типами с одинаковыми именами в разных пространствах имен, вы должны использовать метод # 1.

...