Недавно я изменил путь вывода некоторых проектов в нашем решении веб-сайта MVC, чтобы стандартизировать их. Например, основные проекты изменились с bin\
на bin\x64\Debug\
для конфигурации Debug. Я изменил это с помощью доступа к графическому интерфейсу, щелкнув правой кнопкой мыши на проекте и выбрав свойства.После изменения пути вывода проекта MVC сборки не найдены
я могу восстановить все без ошибок, но когда я запустить веб-приложение, я получаю:
Could not load file or assembly 'System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
...
=== Pre-bind state information ===
LOG: DisplayName = System.Web.Mvc, Version=4.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/bookshelf/Bookshelf/
LOG: Initial PrivatePath = C:\bookshelf\Bookshelf\bin
Calling assembly : (Unknown).
===
Это выглядит так, как если asp.net/IIS все еще смотрят в папку с бипом? Я уже пытался удалить все временные файлы в user/appdata/local, перестроить все в решении и перезапустить визуальную студию. Я также попытался удалить все из папки .vs для решения и удалить файл csproj.user для проекта.
DLL-файлы находятся в папке bin/x64/Debug в файловой системе, как и ожидалось из настройки выходного пути.
Почему вы ожидаете, что VS найдет сборки в папке 'bin \ x64 \ Debug \' во время выполнения? Он не ищет их в этом месте. – Maarten
С изменением свойства выходного пути, где они заканчиваются, когда происходит сборка. Согласуется ли это с тем, что сборка отладки должна размещать их непосредственно в папке/bin? – jackmott
Вы вводите в заблуждение две вещи, а именно местоположение, где VS хранит результат процесса компиляции, и местоположение, где VS ищет необходимые сборки во время выполнения. Они не одинаковы. – Maarten