如何在服务器端的 Dynamics NAV 2016 中使用 Control-AddIn?
How to use a Control-AddIn in Dynamics NAV 2016 on server side?
在 Microsoft 和其他一些教程的帮助下,我为 Dynamics NAV 创建了一个小的 Control-AddIn 2016.
将此加载项放在客户端的加载项文件夹中时,它可以正常工作。我被要求让 AddIn 在服务器上运行,因此它不必分发给每个用户。
即使在服务器端有标准的加载项,Microsoft 也没有提供任何相关信息。
简单地移动 AddIn-dll 并重新创建插件的引用似乎不起作用。
我尝试了各种晦涩的方法来让这个插件在服务器端被检测到。以下过程仅运行一次,但在我编辑 C# 代码时不再运行:
- 从客户端 AddIns 文件夹和 AddIns-table
中删除加载项
- 将加载项移至服务器加载项文件夹并创建新的加载项-table 条目
- 在字段中使用 Control-AddIn 创建页面并创建 Control-AddIn 的 DotNet 变量 class(属性 运行OnClient = Yes),即在 "OnInit" 中初始化。没有别的。
- 运行 CodeUnit 2,运行 新页面(AddIn-dll 现在已复制到 NAV 临时文件夹)
但是就像我提到的那样,这只工作了一次,从那以后就再也找不到插件了。
有谁知道从服务器获取 Control-Addins 到 运行 的有效方法?
所以我最终自己弄明白了,我找到了答案,有点奇怪,但这里是为了以防其他人遇到这个问题:
- 将您的加载项放入服务器的加载项文件夹
- 将控件加载项的新条目添加到控件加载项页面
- 在应该使用加载项的页面中,您首先必须创建加载项 class 的 DotNet 变量。在 OnInit 函数中初始化此变量。
- 设置变量后,在属性中为您的控件加载项和select控件加载项创建字段。
似乎需要先创建变量才能将程序集复制到临时文件或其他内容中。没有它,可能无法检测到插件的某些功能。
还需要进行初始化,以确保在初始化要显示的控件加载项之前将加载项复制到客户端的临时文件夹。如果没有这一步,将找不到程序集。
在 Microsoft 和其他一些教程的帮助下,我为 Dynamics NAV 创建了一个小的 Control-AddIn 2016.
将此加载项放在客户端的加载项文件夹中时,它可以正常工作。我被要求让 AddIn 在服务器上运行,因此它不必分发给每个用户。
即使在服务器端有标准的加载项,Microsoft 也没有提供任何相关信息。
简单地移动 AddIn-dll 并重新创建插件的引用似乎不起作用。
我尝试了各种晦涩的方法来让这个插件在服务器端被检测到。以下过程仅运行一次,但在我编辑 C# 代码时不再运行:
- 从客户端 AddIns 文件夹和 AddIns-table 中删除加载项
- 将加载项移至服务器加载项文件夹并创建新的加载项-table 条目
- 在字段中使用 Control-AddIn 创建页面并创建 Control-AddIn 的 DotNet 变量 class(属性 运行OnClient = Yes),即在 "OnInit" 中初始化。没有别的。
- 运行 CodeUnit 2,运行 新页面(AddIn-dll 现在已复制到 NAV 临时文件夹)
但是就像我提到的那样,这只工作了一次,从那以后就再也找不到插件了。 有谁知道从服务器获取 Control-Addins 到 运行 的有效方法?
所以我最终自己弄明白了,我找到了答案,有点奇怪,但这里是为了以防其他人遇到这个问题:
- 将您的加载项放入服务器的加载项文件夹
- 将控件加载项的新条目添加到控件加载项页面
- 在应该使用加载项的页面中,您首先必须创建加载项 class 的 DotNet 变量。在 OnInit 函数中初始化此变量。
- 设置变量后,在属性中为您的控件加载项和select控件加载项创建字段。
似乎需要先创建变量才能将程序集复制到临时文件或其他内容中。没有它,可能无法检测到插件的某些功能。
还需要进行初始化,以确保在初始化要显示的控件加载项之前将加载项复制到客户端的临时文件夹。如果没有这一步,将找不到程序集。