Привет, мне было интересно, ребята, видите ли вы, что не так / предложите решение.
У меня есть сборка dll для COM, которую я создал с помощью C #, и я пытаюсь получить COM-объект из Silverlight вне браузера. Я хочу, чтобы приложение siverlight было мобильным между компьютерами, поэтому я поместил все необходимые файлы в zip-файл вместе с пакетным установщиком, который выполняет следующие действия для регистрации сборки:
cd% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \
RegAsm.exe "% USERPROFILE% \ Мои документы \ Часы домашней работы \ windowsHook.dll" / tlb / nologo
Мое приложение находит сборку, и она отлично работает на моем компьютере разработчика, но когда я перемещаю свое приложение на тестовый компьютер (вместе с dll и любыми другими необходимыми файлами), мой пакетный файл говорит, что он успешно регистрируется, но приложение не не найти его.
Однако, когда я перестраиваю сборку с C # на тестовом компьютере и заменяю dll, которую я перенес с компьютера разработчика, на перестроенную dll, приложение находит это нормально. Моим клиентам было бы удобно, если бы им не нужно было перестраивать сборку с использованием C #, если они хотят использовать мое приложение, поэтому мне было интересно, есть ли способ исправить это.
Я некоторое время изучал эту проблему и думал, что это может быть из-за того, что моя сборка не была сборкой со строгим именем, поскольку я думаю, что C # делает это автоматически, поэтому я попытался сделать это в моем пакетном файле, и он не смог распознать команды 'al' и 'sn', необходимые для генерации криптографического ключа, чтобы дать сборке строгое имя, и я попытался сделать это в
вкладка «подпись» в свойствах проекта C #, но я столкнулся с той же проблемой. Есть идеи как это исправить?
Заранее спасибо