2017-02-27 54 views
1

在Microsoft和其他人的一些教程的帮助下,我创建了一个用于Dynamics NAV的小型Control-AddIn。如何在服务器端的Dynamics NAV 2016中使用Control-AddIn?

当AddIn文件放在客户端的addins文件夹中时,它可以正常工作。我被要求将AddIn工作在服务器上,因此不必将其分发给每个用户。

即使存在服务器端的标准AddIns,微软也没有提供任何信息。

简单地移动AddIn-dll并重新创建加载项的引用似乎不起作用。

我试过各种晦涩的方法来让服务器端检测到这个AddIn。以下程序的工作完全一次,但不会再当我编辑的C#代码:

  • 从客户端加载项文件夹和加载项表
  • 移动外接程序删除外接程序到服务器外接程序文件夹,并创建新的AddIns表项
  • 在字段中使用Control-AddIn创建一个页面,并创建一个在“OnInit”中初始化的Control-AddIn类的DotNet变量(属性RunOnClient = Yes)。没有其他的。
  • 运行CodeUnit 2,运行新的页面(外接程序的DLL现在被复制到NAV临时文件夹)

但是就像我提到这只是一个工作时间,自那以后的AddIn是从来没有发现。 有谁知道一个肯定的工作方法来获得Control-Addins从服务器运行?

回答

0

所以我最终想出来的自己,我找到了答案,有点奇怪,但在这里它是万一别人有这样的烦恼:在服务器的添加

  • 将您的外接-Ins文件夹
  • 为您的控件加载项添加到控制加载项页
  • 在应该使用加载项的页面中,您首先必须创建一个DotNet变量的加载项类。在OnInit函数中初始化此变量。
  • 设置变量之后为您的控制加载项创建字段并在属性中选择控件加载项。

似乎首先创建变量需要将程序集复制到temp或其他东西。没有它可能无法检测到加载项的某些功能。

还需要进行初始化,以确保在您要显示的控件加载项被初始化之前将加载项复制到客户端的临时文件夹中。没有这一步,组装就不会被找到。

相关问题