ProductCode (GUID) для автозагрузки DLL для AutoCAD

Я хотел бы знать, откуда берется ProductCode (GUID) автоматически загружаемой DLL для AutoCAD. Я разработал плагин в DLL, в котором есть несколько команд для AutoCAD. Я следую «заведомо хорошей» примерной программе и создаю пакет для своего плагина. DLL не удалось автозагрузить по какой-то причине. Мне интересно, может быть, ProductCode (GUID), который я ввел в PackageContents.xml, неверен. Вот почему я хочу найти правильный способ найти ProductCode.

Основываясь на примере программы, я уверен, что ProductCode НЕ является идентификатором GUID, указанным в разделе файла проекта Visual Studio. И я также уверен, что ProductCode НЕ является идентификатором GUID, хранящимся в файле AssemblyInfo.cs.

Должен ли я использовать GUID внутри файла DLL? Но я не могу сказать, какой GUID встроен в файл DLL.

На данный момент я просто использую GUID, созданный с помощью Visual Studio -> Инструменты -> Создать GUID. Но я не знаю, подходит ли этот GUID для использования. Или это действительно имеет значение, какой GUID использовать, если он уникален?

Пожалуйста помоги. Спасибо.

Джей Чан


person Jay Chan    schedule 18.10.2018    source источник
comment
Если это .NET dll, то лично я использовал реестр для автозагрузки и обнаружил, что его очень легко настроить без каких-либо проблем. См. здесь. В сообщении есть несколько ссылок, по которым вы можете перейти по ссылкам, которые объясняют, как настроить реестр. Надеюсь, это поможет.   -  person Nik    schedule 19.10.2018
comment
Спасибо за ссылку на веб-страницу, на которой показано множество различных способов автозагрузки. Это хранитель. Во всяком случае, это уже другая тема. Что касается моего вопроса здесь, мне интересно узнать, где вы получаете свой GUID. Я полагаю, когда вы используете свой способ регистрации плагина для AutoCAD, вам нужно будет ввести GUID в реестр, верно? Где взять этот GUID? Вы получаете его через Visual Studio - ›Инструменты -› Создать GUID? Пожалуйста, дай мне знать.   -  person Jay Chan    schedule 19.10.2018
comment
Нет, для этого вам не нужен GUID, просто путь к вашей dll. Это довольно просто, вот прямая ссылка. Прокрутите вниз до решения Б. Я не говорю, что это лучшее решение, я говорю, что оно хорошо сработало для меня!   -  person Nik    schedule 20.10.2018
comment
Спасибо, что объяснили, что мне не нужен GUID при регистрации DLL. Просто вопрос не по теме: я предполагаю, что вы используете скрипт для добавления ваших настроек в реестр, и я предполагаю, что вы используете regasm.exe для запуска скрипта. Какую версию regasm.exe вы используете для регистрации своей библиотеки DLL / EXE? regasm.exe отсутствует в поиске PATH. В разных папках в C: \ Windows \ Microsoft.NET \ Framework есть несколько копий regasm.exe.   -  person Jay Chan    schedule 22.10.2018


Ответы (1)


Когда вы создаете новый файл PackageContents.xml для своего пакета, вы должны создать новый GUID (меню Инструменты> Создать Guid) как ProductCode и еще один как UpgradeCode, затем для каждой новой версии вашего приложения вы должны создать новый GUID для ProductCode, но никогда не меняйте UpgradeCode. Если вы также создаете установщик (установщик Windows), рекомендуется установить те же идентификаторы GUID для ProductCode и UpgradeCode в PackageContents, которые генерируются VisualStudio для установщика. Подробнее об автозагрузчике здесь: http://adndevblog.typepad.com/autocad/2013/01/autodesk-autoloader-white-paper.html

person gileCAD    schedule 19.10.2018
comment
Спасибо за ответ. Да, я понимаю, что мне нужен GUID в PackageContents.xml, и я рад слышать, что вы подтвердили, что GUID - это тот, который я получил из Инструменты - ›Создать Guid. Вот что мне нужно знать. - person Jay Chan; 22.10.2018