В зависимости от конкретной реализации, как правило, рекомендуется хранить файл ключа .snk в той ветви, над которой вы работаете.
Вариант использования: мы меняем наш ключ подписи сборки между v1.0 и v2.0. Вы все еще хотите иметь возможность поддерживать текущий код в транке, одновременно разрабатывая правильный ключ в вашей ветви (ветках).
Во-вторых, (и это только лучшая практика, которая не требуется в зависимости от вашей ситуации - например, насколько вы доверяете другим разработчикам) .snk-файл, который вы храните в системе контроля версий, должен содержать только открытый ключ, и решение должен быть настроен на задержку только подписи.
Это предотвращает распространение вашего закрытого ключа, который должен храниться защищенным на сервере сборки (скорее всего, в диспетчере ключей Windows) и использоваться во время сборок "выпуска" для полной подписи сборок. Если у вас нет сервера сборки, рекомендуется, чтобы 1 или 2 человека доверяли закрытый ключ, после чего они могут подписать сборки с помощью sn.exe после сборки. Простой сценарий оболочки или командный файл могут автоматизировать этот процесс.
Наконец, и только если вы решите отложить подпись, вам нужно будет добавить запись в список проверки сборки .NET (sn.exe -Vr *,<publicKeyToken>
) на всех рабочих станциях разработчика, которые будут запускать / отлаживать отложенные подписанные сборки. В зависимости от цели платформы вам нужно будет запустить ее как в 32-, так и в 64-битной версиях командной строки VS.
Надеюсь, это поможет.