Ссылочный проект "Copy Local = false" показывает "Не удалось загрузить файл или сборку"
Я провел дни в поисках ответа, но не понял, что происходит.
У меня есть решение с 4 проектами. Одна из них ссылается на другую 3. Все ссылки устанавливаются "copy local = false".
Я сделал выходные папки для каждой из них, и все шло отлично, пока я не решил изменить выходную папку.:-(
Теперь, когда я ссылаюсь на проект с другим свойством "copy local = false", проект не загружается, и у меня появляется ошибка, говорящая
Не удалось загрузить файл или сборку "..." или одну из ее зависимостей. Система не может найти указанный файл.
Из FusionLog я совершенно уверен в ошибке, что Studio все еще ищет.dll проекта по старому пути.
Когда я устанавливаю "copy local = true", проекты запускаются, но это решение неприемлемо.
Что я должен сделать, чтобы я мог загрузить свой проект снова с копией local, установленной в false? Как я могу изменить путь, который ищет Visual Studio? Есть ли кеш, который я могу очистить или обновить?
Заранее спасибо за любую помощь в этом.
2 ответа
- Возьмите резервную копию всего вашего решения (все файлы)
- Найдите файл вашего решения (.sln).
- Щелкните правой кнопкой мыши его значок и выберите "Открыть с помощью", а затем выберите "Блокнот" или аналогичный текстовый редактор.
- Ищите часть или весь старый путь.
- Если вы найдете его в файле, замените все экземпляры старого пути на новый.
- Сохраните файл.
Добавьте это в app.config вашего зависимого проекта (т.е. проект, который имеет зависимости от других проектов):
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="*relative path to assemblies here*" />
</assemblyBinding>
</runtime>
При этом "относительный путь к сборке здесь" заменяется фактическим относительным путем к месту сборки (ваши новые выходные папки).