Несколько проектов должны использовать 1 файл SNK - PullRequest
12 голосов
/ 12 февраля 2010

Я использую Visual Studio 2008, и у меня есть решение, которое содержит несколько проектов. У меня есть 1 снк, чтобы подписать мои сборки, и это живет в папке решения.

Я связал snk с каждым из моих проектов, но теперь, когда я пытаюсь подписать свой проект этим связанным snk, я не могу найти файл snk с диалоговым окном файла.

Я пропустил здесь шаг?

Solution
   > Solution Folder
       MyKey.snk
   > Project X
       > _LinkedFiles
           MyKey.snk (physical file doesn't appear here but shows in VS)
       > ...

Ответы [ 3 ]

15 голосов
/ 23 марта 2010

Совместное использование файла ключа строгого имени в проектах:

http://blogs.msdn.com/shawnfa/archive/2006/04/24/582278.aspx

2 голосов
/ 20 февраля 2010

Ну, здесь не так много ответов, но я нашел решение, с которым мне было удобно. У меня есть ProductAssemblyInfo, который находится в папке решения, но связан с каждым проектом, как показано ниже.

Solution
   > Build (Solution Folder)
       MyKey.snk
       ProductAssemblyInfo.cs
   > Project X
       > _LinkedFiles
           ProductAssemblyInfo.cs
       > ...

ProductLevelAssembly содержит следующую строку:

[assembly: AssemblyKeyFile("../../Build/MyKey.snk")]

Таким образом, файл ключа никогда не копируется в каждый проект, но каждая сборка все еще подписывается ключом.

0 голосов
/ 12 февраля 2010

Не связывайте это, просто делайте копии этого. Если вы перестроите SNK, вам нужно будет снова скопировать его во все проекты, но вероятность того, что вам понадобится сделать это, ОЧЕНЬ низкая. Фактически, мы меняем SNK только при изменении основных номеров версий.

Также, когда вы связываете файл, вы связываете его в файле решения, а не делаете копию, которая редактирует оба места одновременно. Диалоговое окно обзора покажет вам только файлы, которые существуют на диске.

...