Как я могу использовать ActiveX DLL в фрагменте кода c # для узла js с использованием ребра js? - PullRequest
0 голосов
/ 04 декабря 2018

Я собираюсь создать небольшое js-приложение для электронного узла, которое будет использовать одну библиотеку activeX dll, Interop.DrvFRLib.dll.Эта библиотека прекрасно работает с c # .NET Framework, поэтому я решил обернуть методы, предоставляемые этой DLL, в фрагменты кода c # и включить эти фрагменты в код узла js с помощью edge js, но это не сработало.var edge = require ('edge');

var funcForTry = edge.func({
    source: function() {/*

        using DrvFRLib;
        using System.Threading.Tasks;

        public class Startup
        {
            public async Task<object> Invoke(object input)
            {
                var driver = new DrvFR();
                return null;
            }
        }
        */},
    references: [ 'Interop.DrvFRLib.dll' ]
});

funcForTry(null, function (error, result) {
    console.log(result);
});

Эта строка кода:

var driver = new DrvFR();

выдает мне сообщение об ошибке, в котором говорится, что файл или сборка не найдена

"Interop.DrvFRLib, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null"

В чем может быть причина?Файл библиотеки находится в той же папке, что и index.js.Эта самая библиотека хорошо работает с родным c # в, скажем, консольном приложении, когда я помещаю его в «Ссылки».Конечно, его CLSID можно найти в ветке реестра HKEY_CLASSES_ROOT.

...