Как правильно назвать сборку, которая используется несколькими разработчиками? - PullRequest
1 голос
/ 21 октября 2011

Мой коллега и мой проект на C # должны быть зарегистрированы в COM с помощью regasm.exe или RegistrationServices для взаимодействия с Excel. В результате сборка должна быть подписана ключом строгого имени. Файл ключа был создан с помощью Visual Studio и передан в хранилище исходного кода.

Каждый раз, когда новый разработчик клонирует репозиторий git, он должен либо перейти на вкладку подписи свойств проекта и повторно ввести пароль для файла .pfx, либо повторно ввести пароль, используя sn.exe в командной строке. Ни один из них не идеален, поскольку оба требуют ручных шагов и устной передачи (простого, широко известного) пароля.

Мы попытались отложить подпись сборки, которая позволила продолжить сборку, но не позволила нам зарегистрироваться в COM.

Есть ли способ сделать это, не заставляя всех вручную обновлять файлы ключей .pfx? Спасибо!

Ответы [ 2 ]

3 голосов
/ 21 октября 2011
Для

[ComVisible] сборок не требуется строгое имя. Действие по умолчанию для regasm.exe предполагает, что вы развернете сборку в GAC. Однако это не является обязательным требованием, дайте ему параметр / codebase, чтобы зарегистрировать его в каталоге, где он находится. Обычно каталог сборки проекта.

Это также то, что Visual Studio делает, когда вы отмечаете опцию «Зарегистрироваться для взаимодействия COM» в свойствах сборки. Теперь достаточно просто построить проект. Убедитесь, что это все еще совместимо с вашим установщиком. Между прочим, у DLL есть последствия, которые лучше всего решить с помощью изоляции.

2 голосов
/ 21 октября 2011

Вам не нужно запрашивать пароль, если вы не беспокоитесь о том, что кто-то завладеет вашим .snk и будет использовать его без толку.Нет пароля, нет запроса.

...