“Блок с тем же простым именем был уже импортирован” ошибка без дублирующейся ссылки

Я получаю следующую ошибку:

ошибка CS1704: блок с тем же простым именем 'Interop.xxx.dll, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null был уже импортирован. Попытайтесь удалить одну из ссылок или подпишите их для включения бок о бок.

Все, что я видел, говорит, что я ссылаюсь на два блока с тем же именем, и я должен удалить одного из них. Однако я проверил, и я только ссылаюсь на него однажды.

Это также только происходит, когда я использую msbuild для создания из командной строки на моем dev поле. Если я создаю через Visual Studio или делаю чистое основывается на нашем сервере CI, я не вижу эту ошибку.

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

15
задан Rai Vu 23 January 2017 в 04:41
поделиться

2 ответа

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

8
ответ дан 1 December 2019 в 04:46
поделиться

Если это веб-проект, есть ли там какие-либо строгие ссылки на другую версию? Они не будут отображаться как зависимости проекта, но вызовут ошибку времени выполнения, как вы описали. Надеюсь, что это поможет

2
ответ дан 1 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

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