Visual Studio не может правильно загрузить выходные данные корзины проекта (ошибка пути?)

Visual Studio не удается создать решение "S1" с этим сообщением об ошибке:

Ошибка 8: указанная сборка "D:\S0\foo\bin\Debug\foo.dll" не найдена. Если эта сборка создается другим вашим проектом, обязательно создайте этот проект перед сборкой этого.

Упомянутый проект foo на самом деле изначально является частью другого решения (называемого S0, как видно из сообщения об ошибке) и был включен через «Добавить существующий проект».

Тем не менее, Foo отлично строится в S0, и его выходные данные существуют. Поскольку и S0, и S1 созданы исключительно для x86, правильный путь должен быть "S0\foo\bin\x86\Debug\foo.dll", поэтому кажется, что Visual Studio не ищет двоичный файл В правильном месте.

Foo показывает отсутствующие ссылки в S1, вероятно, из-за ссылок на другие проекты из S0, которые не включены в S1. Однако это не должно быть проблемой, поскольку необходимые двоичные файлы уже существуют.

Я вручную скопировал файлы из 'bin\x86\Debug' в 'bin\Debug', и, не удаляя предупреждения об отсутствующих ссылках, это фактически сделало сборку VS S1 прекрасной, поэтому, видимо, Visual Studio действительно запуталась в "необычном" ' путь bin\x86\debug.

Как мне решить эту проблему?


person mafu    schedule 28.08.2012    source источник


Ответы (3)


Место вывода сборки можно настроить. Я считаю, что стандартным поведением VS является создание папки x86, если для проекта существуют другие конфигурации платформы.

Это не ошибка Visual Studio; похоже (хотя проект находится в решении), у вас есть двоичная ссылка, которая была создана с неправильным путем.

person Dan Puzey    schedule 30.08.2012

Сейчас я использую обходной путь. Путем ручного изменения выходных путей в S0 на «обычный» (bin\Debug) bin-файлы x86 помещаются в то место, где ищет VS, и впоследствии позволяют собирать S1. Это, похоже, отклоняется от передовой практики, поэтому я бы не считал это долгосрочным решением.

С моей точки зрения, отсутствие для поиска bin-файлов в подпапке x86 является чистой ошибкой в ​​Visual Studio, поскольку и S0, и S1 созданы исключительно для x86.

person mafu    schedule 29.08.2012
comment
Место вывода сборки можно настроить. Я считаю, что стандартным поведением VS является создание папки x86, если для проекта существуют другие конфигурации платформы. Это не ошибка Visual Studio; похоже (хотя проект находится в решении), у вас есть ссылка binary, которая была создана с неправильным путем. - person Dan Puzey; 29.08.2012
comment
@DanPuzey: Часть если существуют другие конфигурации звучит как хорошее объяснение источника проблемы (опубликуйте!). Некоторое время назад проекты были преобразованы с AnyCPU на x86, так что, скорее всего, это останется. - person mafu; 30.08.2012
comment
@DanPuzey: Что касается ссылок на двоичные файлы, я вручную проверил все ссылки, и они указывали на файлы проекта, а не на двоичные файлы. - person mafu; 30.08.2012

Я исправил это так. Удалите проекты, которые дают ошибки, добавьте их снова и соберите.

person Rajan Kumar Kharel    schedule 07.01.2016