【问题标题】:Dynamics NAV + BC Control Add-In not exposing methods and eventsDynamics NAV + BC Control 插件不公开方法和事件
【发布时间】:2019-05-23 10:32:38
【问题描述】:

我为 Dynamics NAV/BC 创建了一个简单的控件加载项,但遇到了一些问题。 我在这个加载项中所做的完全一样(据我所知),就像我在以前创建的相同类型的加载项中所做的一样,效果很好。

问题是,当插件程序集被添加到页面时(我个人对这部分了解不多,只是边看边做),插件的事件和方法—— in 应该出现(应该生成存根代码),但事实并非如此......没有任何反应。

当他们尝试使用类似的程序集(相同的框架、相同类型的界面、相同版本的“Microsoft.Dynamics.Framework.UI.Extensibility”程序集 - 简而言之非常相似的程序集)时,方法和事件的代码按预期生成。

所以我的问题是,很明显,当它们在 C# 代码中几乎相同时,为什么它适用于一个程序集而不适用于另一个程序集?

这是程序集不起作用的代码。

using Microsoft.Dynamics.Framework.UI.Extensibility;

namespace Dynamics.NAV.CR
{
    [ControlAddInExport("Dynamics.NAV.CR")]
    public interface ICRAddIn
    {
        [ApplicationVisible]
        event ApplicationEventHandler AddInReady;

        [ApplicationVisible]
        event DataEventHandler ButtonClicked;

        [ApplicationVisible]
        event DataEventHandler ElementHtmlRetrieved;

        [ApplicationVisible]
        event DataEventHandler ElementTextRetrieved;



        [ApplicationVisible]
        void setElementHtml(string control_id, string html);        

        [ApplicationVisible]
        void setElementText(string control_id, string text);

        [ApplicationVisible]
        void setElementCss(string control_id, string css);

        [ApplicationVisible]
        void addElementCssCls(string control_id, string cls);

        [ApplicationVisible]
        void removeElementCssCls(string control_id, string cls);

        [ApplicationVisible]
        void setElementProp(string control_id, string prop_name, string prop_value);
    }
}

我错过了什么?

部署程序集的人说他已确保它“畅通无阻”,所以这不应该是问题。

我忘了添加自定义事件处理程序的代码 - 在这里。

namespace Dynamics.NAV.CR
{
    public delegate void DataEventHandler(object data);
}

【问题讨论】:

    标签: dynamics-nav microsoft-dynamics-nav dynamics-business-central


    【解决方案1】:

    好的,事实证明,我没有解决问题的明显原因是 Dynamics NAV/BC UI 可扩展性程序集 Microsoft.Dynamics.Framework.UI.Extensibility 属于与目标系统不同的版本,或者至少这是我认为的原因。 我尝试了许多不同的方法来调整项目以使其正常工作,似乎改变这个程序集就可以了。

    但我不能 100% 确定,因为我没有亲自将我的程序集部署到 NAV,所以我不知道是否有适当数量的服务重新启动、缓存清除以及其他奇怪的事情已采取必要的措施。

    所以在证明我的问题有其他原因之前,我会假设是程序集版本不匹配造成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-08
      • 2018-01-25
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      相关资源
      最近更新 更多