Добавление ссылок добавляет неверную версию
При добавлении ссылки на VS 2008 версия указывается как v1.0.0.0, когда она должна быть v1.1.0.0 - насколько я вижу, абсолютно нет причин, по которым она добавляет неправильную версию.
Оба проекта написаны с нуля, никакие другие ссылки не ссылаются на сборку, которую я пытаюсь добавить, и когда я смотрю на файл в Windows, он имеет правильную версию, но каким-то образом VS все равно выбирает неправильную (целевой путь правильный).
Кто-нибудь знает, как заставить VS выбрать версию, на которую я указываю, а не какую-то более старую версию, которую он решает (без всякой причины), является правильной?
Я задавал этот вопрос раньше, но не было ответов, которые решили проблему...
Я определенно выбираю правильный файл.
3 ответа
Я решил эту проблему, зайдя в проект, на который я пытаюсь ссылаться, УДАЛЯ ВСЕ ссылки (например, system, system.core, system.data и т. Д.) И добавив их все обратно. Это решило проблему.
Я не могу объяснить, почему это решение, тем более что у этого проекта не было никаких других ссылок, кроме тех, которые вы получаете по умолчанию.
У меня возникла та же проблема, и я обнаружил, что у меня задан путь ссылки (из кнопки "Пути ссылки" на вкладке "Ссылки" в свойствах проекта). Это означало, что когда я добавлял сборки, он сначала пытался найти их по ссылочному пути, а не по каталогу, из которого я их выбрал.
Я удалил путь ссылки и смог правильно добавить файлы.
В моем случае проблема была вызвана некоторымиItemGroup
теги в файле проекта, которые я использовал для добавления внешних сборок в проект (чтобы убедиться, что система контроля версий их учитывает). В зависимости от порядка групп элементов правильная версия внешней сборки была добавлена в качестве эталонной или нет.
Например, при попытке сослаться на внешнюю сборку Foo.dll версии 1.1.0.0 VisualStudio ссылается на версию 1.0.0.0, поскольку Foo.dll присутствует в группе элементов.<None Include="External Assemblies\Bar\Foo.dll" />
выше в списке групп элементов, чем<None Include="External Assemblies\Foo\Foo.dll" />
.
Переупорядочив группы элементов, я смог сослаться на нужную версию.