打开 KB 后读取文件 - Genexus 扩展

Read file after open KB - Genexus extensions

我正在创建一个 GeneXus 扩展,我希望在 AfterOpenKB 事件中该扩展读取一个文件。所以,我所做的就是将我需要读取的文件复制到 GX 中的 packages 文件夹中。问题是,当我调试扩展时,方法 AfterOpenKB 被调用两次,其中一次是在 KB 的文件夹中搜索文件。

问题是,该方法应该触发两次,还是我做错了什么?我是否也应该将文件复制到 KB 的文件夹中?

谢谢!

每次进程打开 KB 时,AfterOpenKB 事件应该只触发一次。您的分机是 UI 还是 BL 分机?我怀疑你正在开发一个 BL 扩展,你看到的是说明符的 MSBuild 进程,它是一个独立的进程,也启动 GX BL,在打开与 GX 进程相同的 KB 时触发 AfterOpenKB 事件正在开放。

无法回答是否应该将文件复制到 KB 文件夹,而不知道扩展名到底在做什么,但总的来说,不要认为将文件复制到 GX 是一个好习惯打开 KB 时安装。请注意,GX 位于 Program Files 中是很常见的,将文件写入该路径需要提升权限。目前 GX 需要 运行 作为一个提升的过程,但这是我们将来可能希望改变的东西,所以我强烈建议不要依赖它。 KB 文件夹似乎是复制文件的更好位置,但同样,如果不知道扩展程序在做什么以及文件的用途,就无法确定。

希望对您有所帮助。