我正在尝试为Genexus开发.NET框架扩展,以侦听以下基本事件:
编辑
我尝试过粘贴从AbstractPackage派生的包,并在GXServerInstance/VDir/BinGenexus/Packages文件夹中实现了来自Genexus的IGxPackageBL,并使用EventSubscription with ServerEvents.BeforeLockObject收听LockEvents,但是没有看到这个包是用Genexus初始化的。这门课来自Genexus.Server.Common.ddl。
以下是我迄今所做的尝试:
我从“模板”创建了该项目:

Package.cs

AssemblyInfo.cs

这个扩展没有被加载,下面是https://mygxserver/v16/extensions.aspx显示的内容:

GXServer.log文件没有看到正在记录任何错误,并且显示扩展名实际上已经加载,尽管没有工作.

发布于 2021-11-12 15:10:08
GeneXus服务器扩展的开发方式与GeneXus扩展相同,必须安装在您提到的路径中。这里的区别是GXserver只加载BL扩展。
可以通过两种方式对扩展进行分类:
。
- Add new object types
- Add new parts to objects
- Add new properties to objects
- Implement services defined in SDK or other shared assemblies为使延期被视为“基本法”扩展,必须符合以下规定:
Package类必须扩展AbstractPackage并实现IGxPackageBL。例:公共类包: AbstractPackage,IGxPackageBL
我在提供的映像中注意到,IGxPackageBL的实现缺失了。除了那些已经从AbstractPackage继承的成员之外,这个接口没有为包定义任何新成员,但是包加载程序无论如何都会检查它。
PackageAttribute中通知包不是UI扩展。例:程序集:PackageAttribute(类型(包),IsUIPackage = false)
在进行这些更改并在VDir\BinGenexus\Package文件夹中复制包程序集之后,您可以导航到浏览器中的扩展页(例如:https://mygxserver/v16/extensions.aspx),并且应该会看到您的扩展加载。
至于您可以使用的二进制文件,GXserver SDK正在进行中。在v17中,我们开始使用名为BinServer的SDK分发一个新文件夹,其中包含了我们很乐意将其作为SDK的一部分的二进制文件,目前它是ContianGenexus.Server.Common.dll和GeneXus.Server.ExternalTool.dll的一部分。
https://stackoverflow.com/questions/69934389
复制相似问题