我正在创建一个GeneXus扩展,我想在AfterOpenKB事件上扩展读取文件。所以,我所做的是将我需要读取的文件复制到GX中的packages文件夹中。问题是,当我调试扩展时,方法AfterOpenKB被调用两次,其中一个是在KB的文件夹中搜索文件。
问题是,预计该方法会触发两次,或者我做错了什么?我是否应该将文件复制到KB的文件夹中?
谢谢!
答案 0 :(得分:0)
每次进程打开KB时,只应触发一次AfterOpenKB事件。您的扩展程序是UI还是BL扩展程序?我怀疑你正在开发一个BL扩展,而你所看到的是指定者的MSBuild进程,它是一个独立的进程,也启动了GX BL,在打开相同的KB时触发AfterOpenKB事件随着GX流程的开放。
如果您要将文件复制到KB文件夹,却无法准确了解扩展程序的作用,则无法给出答案,但一般情况下,不相信将文件复制到打开KB时的GX安装。请注意,GX位于Program Files中非常常见,将文件写入该路径需要提升权限。目前GX需要作为一个升级过程运行,但这是我们可能希望将来改变的东西,所以我强烈建议不要依赖于此。 KB文件夹似乎是一个更好的复制文件的地方,但是,如果不确切知道扩展程序正在做什么以及文件是什么,就无法确定。
希望有所帮助。