Сильно назовите три сборки, которые ссылаются друг на друга

Это, вероятно, действительно легко, но я в тупике (и я нуб с C#). У меня есть 3 сборки, которые ссылаются друг на друга (например, регистрация для уведомления о методе делегата или вызов открытого метода), и все они прекрасно компилируются, пока я не попытаюсь подписать их строгим именем. Тогда я не смогу скомпилировать ни одного из них, так как у двух других нет строгого имени. Что мне не хватает? Я создал файл строгого имени для всех трех, но не могу включить snk и скомпилировать их.

2 ответа

Решение

Если вы создали один файл snk, который хотите использовать на всех трех из них, выберите: Добавить существующий элемент в контекстном меню проектов.

Перейдите к файлу snk и выберите "Добавить как ссылку", нажав на стрелку рядом с кнопкой "Добавить".

Затем в свойствах вашего проекта убедитесь, что на вкладке "Подписывание" установите флажок "Подписать сборку", а затем выберите файл ключа, который вы только что добавили в свой проект.

Это должно делать свое дело.

Сборка со строгим именем может ссылаться только на другие сборки со строгим именем.

Когда вы ссылаетесь на сборку со строгим именем, вы ожидаете получить определенные преимущества, такие как защита версий и имен. Если затем сборка со строгим именем ссылается на сборку с простым именем, которая не имеет этих преимуществ, вы потеряете преимущества, которые вы получили бы от использования сборки со строгим именем, и вернетесь к конфликтам DLL. Следовательно, сборки со строгими именами могут ссылаться только на другие сборки со строгими именами.

Цитируется из MSDN.

Другие вопросы по тегам