Тип C #, определенный в сборке, на которую нет ссылок

У меня есть два проекта A и B. Проект A использует тип X в проекте B, поэтому у меня есть ссылка на B, добавленная в A. Все было хорошо.

Я подписал проект B, используя файл со строгим именем ключа. Все по-прежнему было нормально.

Тогда я решил изменить файл ключа со строгим именем для B. Я перестроил проект B, все в порядке. Когда я пытаюсь построить AI проекта, появляется сообщение об ошибке «Ошибка 1 Тип X определен в сборке, на которую нет ссылок. Необходимо добавить ссылку на сборку B, Версия = 1.0.0.0, Культура = нейтральная, PublicKeyToken = 95b41b0d6571627b». «

Поэтому я удалил ссылку в проекте А и добавил ее снова, без радости. Я могу dbl щелкнуть ссылку проекта B в проекте A, открыть браузер объектов и увидеть там тип X, хорошо. Я также полностью определил объекты типа X в A, и intellisense отлично их подобрал, но он по-прежнему не строится.

Я подумал, что для изменения файла ключа мне может потребоваться обновление, поэтому я изменил версию сборки B на 2.0.0.0, но все же жалуется, что ему нужна версия 1.0.0.0. Глядя на свойства ссылки на B в A, она определенно указывает на правильную версию и действительно показывает как 2.0.0.0

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

13
задан John Saunders 1 November 2011 в 20:23
поделиться

2 ответа

Основываясь на том, что вы сказали в комментариях, я бы сказал, что это определенно что-то не так с Project A.

Возможно, эти шаги помогут исправить это:

  1. Удалите ссылку на проект B и сохраните
  2. Взломайте, откройте файл .csproj с помощью блокнота или чего-то еще
  3. Найдите там какие-либо ссылки на Project B (возможно, узел hintpath) и удалите узел.
  4. Если проект A является проектом ASP.NET, поищите в своем web.config или заголовках страниц aspx ссылки на проект B.

После удаления всех ссылок на проект перезагрузите проект как узкое место. предложил и посмотрите, исправит ли это это для вас.

4
ответ дан 2 December 2019 в 02:05
поделиться

Вы можете попробовать отредактировать файл проекта A (projectA.csproj). Для этого через visual studio щелкните правой кнопкой мыши на проекте->выгрузить проект, а затем на выгруженном проекте щелкните правой кнопкой мыши->редактировать файл. Найдите там ссылку на проект B и попробуйте исправить при необходимости

0
ответ дан 2 December 2019 в 02:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: