Надстройка Dynamics NAV + BC Control не раскрывает методы и события - PullRequest
0 голосов
/ 23 мая 2019

Я создал простую надстройку управления для Dynamics NAV / BC, и у меня возникли некоторые проблемы с ней. Я сделал то же самое (насколько я могу судить) в этой надстройке, как я делал в предыдущих надстройках, которые я создал того же типа, которые работали очень хорошо.

Проблема в том, что когда сборка надстройки добавляется на страницу (лично я не очень много знаю об этой части, я просто наблюдаю, как это делается), события и методы надстройки. в должны появиться (должен быть создан код заглушки), однако это не так ... Ничего не происходит.

Когда они пытаются с похожей сборкой (той же платформой, тем же интерфейсом, той же версией сборки 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);
}

1 Ответ

0 голосов
/ 27 мая 2019

Хорошо, оказывается, что очевидная причина того, что у меня ничего не вышло, была вызвана сборкой расширяемости пользовательского интерфейса Dynamics NAV / BC Microsoft.Dynamics.Framework.UI.Extensibility другая версия, чем целевая система, или, по крайней мере, это то, что я считаю причиной.Я пробовал много разных вещей, чтобы настроить проект, чтобы он работал, и кажется, что изменение этой сборки принесло свои плоды.

Хотя я не могу быть уверен на 100%, так как я не развертывалмоя сборка для NAV лично, и поэтому я не знаю, перезапускается ли соответствующее количество услуг, очищается ли кеш и что еще происходит со странными необходимыми действиями.

Так что до тех пор, пока доказательством чего-то еще не будетпричина возникновения моих проблем, я буду предполагать, что причиной было несоответствие версии сборки.

...