Acumatica-自定义“市场营销活动”屏幕时出错

时间:2019-06-27 17:12:36

标签: c# acumatica

在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 个答案:

答案 0 :(得分:1)

这可能是由于super().foo()B引起的。

例如,将foo嵌套在function parse(keys, data) { let newObj = {}; for (const dataKey in data){ for (let i = keys.length - 1; i >= 0; i--) { if (data.hasOwnProperty(keys[i])) { newObj[keys[i]] = data[keys[i]]; } } } return newObj; }; 中不会产生编译器错误: enter image description here

using static directive嵌套在另一个命名空间中时,找不到它: enter image description here

nested namespace的问题稍有不同,但导致相同的错误。发生这种情况是因为运行时代码使用IIS进行编译,而IIS编译器不是最新的点网编译器。因此,AP.xyz在Visual Studio中编译动态库扩展时可以工作,但是在运行时自定义中由IIS编译时,可能会失败。

简单的解决方法是将文件编辑为以下任意一种:

  1. 通过将PX.Objects.AP更改为AP.xyz

  2. 完全限定标识符
  3. 有时候,所需要做的就是删除using static directive并使用using static directive在文件顶部添加(如果文件不存在)。如果在不同名称空间中具有相同名称的2种类型之间存在冲突,则必须使用方法#1。