Не удалось создать сборку. Ссылочная сборка Interop.Office не имеет строгого имени. - PullRequest
7 голосов
/ 27 июля 2011

У меня есть проект WPF 4 для взаимодействия с текстовыми документами, созданными в VS2010, и проект пользовательского контроля выигрышной формы для размещения в нем текстового приложения. И другие звонки. Все комоды указаны в моем основном wpf-приложении. Я хочу опубликовать свой проект, чтобы я мог установить его на другой компьютер и выполнить автоматическое обновление для него. Я получаю сообщение об ошибке: «Сбой генерации сборки - у связанной сборки« Interop.Office »нет строгого имени». ошибка для каждого COM Dll. Обращайтесь к dll (Interop.word.dll, interop.office.dll, interop.VBIDE.dll), и все эти dll также относятся и используются в моем коде wpf.

Я нашел Сильно подписанные сборки ссылка имеет тот же вопрос, но не решает проблему.

Ответы [ 3 ]

17 голосов
/ 14 октября 2011

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

«Добавление строгого имени в Interop DLL»

В статье описываются три способа добавления строгого имени в стороннюю сборку.Команды:
1. Добавление строгого имени с помощью пары ключей

> SN -k MyKeyPair.snk
> ILDASM ASQLService.dll /out:ASQLService.il
> ILASM ASQLService.il /dll /resource=ASQLService.res /key=MyKeyPair.snk

2.Добавление строгого имени через сертификат в хранилище сертификатов

> ILDASM ASQLService.dll /out:ASQLService.il  
> MAKECERT -ss MyCertificateStore -sk MyKeyContainer
> ILASM ASQLService.il /dll /resource=ASQLService.res /key=@MyKeyContainer

3.Добавление строгого имени с помощью сертификата в файл обмена личной информацией (.pfx)

> MAKECERT -r -pe -sv MyCertificate.pvk MyCertificate.cer
> PVK2PFX -pvk MyCertificate.pvk -pi qwerty -spc MyCertificate.cer -pfx MyCertificate.pfx
> SN -p MyCertificate.pfx MyCertificate-publickey.snk
> ILASM ASQLService.il /dll /resource=ASQLService.res /key=MyCertificate-publickey.snk
> SN -R ASQLService.dll MyCertificate.pfx

Надеюсь, это помогло

7 голосов
/ 11 декабря 2012

Этот комментарий должен быть ответом:

На самом деле, проблема "сильного имени" НАЧИНАЕТСЯ, только если вы решите подписать ваша сборка, с тех пор она будет требовать, чтобы все ссылочные библиотеки были Строгое имя тоже подписано

Если вы не хотите подписывать сборку и хотите устранить эту ошибку компиляции. Выберите НЕ подписывать сборку, которую вы пытаетесь построить. Впоследствии все ссылки на проекты не требуют подписи.

5 голосов
/ 26 октября 2011

У вас должен быть файл .snk

Щелкните правой кнопкой мыши свой проект -> Свойства и перейдите на вкладку Подписи -> Проверить Подпись сборки -> выберите новый ключ

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...