Ответ 1
Вы можете увидеть простое имя, открыв свойства проекта и выбрав "Информация о сборке":
Чтобы подписать сборку, вам нужно выбрать вкладку Подпись и создать или выбрать подпись:
Это проект CLR. Я импортирую два DLL файла с тем же именем, quizz.dll
(я переименовал старую версию как legacyquizz.dll
), и я включил новую версию как quizz.dll
в проект тестирования устаревшего конвертера. (Проект тестируемого старого проекта импортирует только старый quizz.dll
).
Это ошибка, которую я получаю.,.
Сборка с таким же простым именем "Quizz, Версия = 2.0.0.1, Культура = нейтральная, PublicKeyToken = null уже импортирован.
Попробуйте удалить одну из ссылок или подписать их включить бок о бок. c: \.,\Quizz.dll
Путь, на который он указывает, является местом назначения новой версии quizz.dll.
Я использую внешний псевдоним в файле legacyquizz.dll:
extern alias legacy;
Что такое "простое имя" в этом контексте?
Вы можете увидеть простое имя, открыв свойства проекта и выбрав "Информация о сборке":
Чтобы подписать сборку, вам нужно выбрать вкладку Подпись и создать или выбрать подпись:
У вас есть две сборки с одинаковым именем (не имя файла, имя сборки). Для этого есть два решения:
Если вы работаете с новой версией .csproj, вы можете столкнуться с этой проблемой после добавления ссылки на другой проект решения, если ссылка уже существует как зависимость от сборки (эта ссылка может быть автоматически добавлена Visual Studio).
В обозревателе решений разверните конфликтующий проект, перейдите к Dependencies-> Сборки и убедитесь, что нет существующей ссылки на сборку, которая вызывает конфликт. Если он существует, просто удалите его, и конфликт будет решен.
Мне тоже кажется эта проблема в моем проекте. Я изменил свой путь к dll в другую папку и изменил ссылочный путь для того же (уровни зависимостей). Это будет работать. Не происходит дублирования.