Итак, у меня есть два проекта... Один - большая библиотека классов, а другой - большой проект симулятора.
Первоначально во время тестирования сборки не имели строгих имен, но теперь, когда мне нужна видимость COM, мне нужно дать им строгие имена (мне нужно это быстро, и проще сделать их COM-видимыми, чем иметь дело с CLI).
Я создал .snk и добавил его в свойства каждого из проектов, библиотека классов прекрасно компилируется и отлично выводит .dll. Я добавил эту .dll в качестве ссылки в проект симулятора, но теперь проект симулятора дает мне следующую ошибку:
Тип DynamicsControl определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку "DynamicsControl, Version=0.4.3.0, Culture=neutral, PublicKeyToken=null"
Тип DynamicsControl существует в библиотеке классов (я проверил), но он утверждает, что я загружаю неправильную сборку. Я считаю, что причиной проблемы является PublicKeyToken=null (поскольку моя сборка будет иметь открытый ключ).
Когда я делаю sn -Tp DynamicsControl.dll (тот, который находится в месте, на которое я ссылаюсь), он выводит закрытый и открытый ключ, поэтому я знаю, что у него правильная подпись.
Какой шаг я пропустил? Нужно ли добавлять сборку в GAC? Должен ли я вручную добавлять открытый ключ?