VS 2017 файл метаданных".не удалось найти dll
Я знаю, что есть еще один вопрос с точно такой же проблемой, но я прошел через все эти ответы, и никто мне не помог. :( (вот в чем вопрос.)
Я только что создал новый ASP.NET проект MVC и присоединился к нескольким ".dll находится в решении. Теперь, когда я пытаюсь построить проект, я получаю сообщение об ошибке показано ниже на 3 из 5 библиотек.
Error CS0006 Metadata file 'C:Users...sourceDatabasebinDebugDataAccessLayer.dll' could not be found Logic C:Users...sourceLogicCSC 1 Active
Error CS0006 Metadata file 'C:Users...sourceLogicbinDebugLogic.dll' could not be found PTS2-MVC C:Users...sourcePTS2-MVCCSC 1 Active
Error CS0006 Metadata file 'C:Users...sourcePTS2-MVCbinPTS2-MVC.dll' could not be found PTS2-MVC.Tests C:Users...sourcePTS2-MVC.TestsCSC 1 Active
когда я иду в папку bindebug этого .dll, я вижу, что он пуст, а другой .dll, где I не получите сообщение об ошибке, не пусто. Но я не знаю, как это исправить или что я сделал, чтобы это произошло.
самый распространенный ответ-перейти к свойства на решение и перейти к конфигурация и убрать ->применить ->Регистрация и применить снова, но это не сработало
17 ответов
хорошо, я исправил это сейчас, проблема заключалась в том, что у меня были некоторые другие обычные сообщения об ошибках в моем проекте, и, по-видимому, после того, как я исправил их, и когда я очистил и построил свой проект снова, то все .библиотеки DLL удалось :Д
поэтому для других людей с этой проблемой в будущем: убедитесь, что у вас нет других сообщений об ошибках в вашем проекте, и если вы это сделаете, сначала исправьте их!
Я хотел бы поблагодарить вас всех за помощь!
шаги по исправлению этой ошибки: файл метаданных .dll не удалось найти.
Очистить Все Проекты.
Выгрузить Все Проекты.
Обновить Все Проекты.
Перестроить Решение.
затем проблема решена.
в моем случае произошла ошибка, но она не была должным образом проанализирована VS и показана в окне "список ошибок". Чтобы найти его, вы просматриваете ol "Output" из окна сборки и анализируете сообщения, начинающиеся сверху вниз, и разрешаете фактическую ошибку. M$, пожалуйста, исправьте! Это огромная трата времени коллективными разработчиками миров.
У меня была эта проблема с решением, содержащим несколько проектов.
Я думаю, это произошло от дублирования a .csproj файл и добавление копии в решение. А .csproj файл содержит <ProjectGuid>
элемент. Я установил GUID скопированного проекта на новый.
Я также выполнил следующие шаги:
- закрыть решение
- удалить папку bin
- удалить все obj папки
- открыть решение и построить
дважды проверьте имя папки проекта. В моем случае моя папка проекта была названа с пробелами в ней. Когда я клонировал проект из Team Foundation Server с помощью Git bash, пробелы в имени папки были преобразованы в: "%20". Изменение их обратно в пробелы исправило проблему для меня.
еще одна вещь, которую вы должны проверить, - это целевая платформа любых ссылочных проектов, чтобы убедиться, что вызывающий проект использует ту же или более позднюю версию платформы.
У меня была эта проблема, я попробовал все ранее предложенные ответы, а затем на интуиции проверил рамки. Один из проектов, на который ссылались, был нацелен на 4.6.1, когда вызывающий проект был только 4.5.2.
у меня такая же проблема, проблема в том, что путь решения имеет пробелы в имени и vs по какой-то причине не разрешает пакет... загрузите мой репозиторий снова, просто переименовав решение с пробелами в имени.
Эл.г:
/Repo/Project Name/src
должно быть
/Repo/ProjectName/src
в моем случае я столкнулся с той же ошибки. Одним из моих проектных решений была ссылка на сборку из другого местоположения NuGet. Я просто изменил его, чтобы исправить местоположение, чтобы решить эту ошибку и перестроить. и ничего себе проект получить построить успешно, и все остальные ошибки ушли.
запуск этой команды в bash для удаления всех бункеров работал для меня
$ find . -iname "bin" -o -iname "obj" | xargs rm -rf
Не могу гарантировать, что он будет работать для кого-то еще, хотя
также имейте в виду, что он удалит все файлы bin-поэтому вам придется перестроить все проекты. Очевидно, лучше всего cd в соответствующий каталог перед его использованием.
эта проблема возникает при переименовании решения и .NET framework не удается найти старое решение.
чтобы решить эту проблему, вам нужно найти и заменить старое имя и все зависят от него с новым именем. Если вам нужно просмотреть физический файл через проводник, сделайте это.
файлы, которые обычно затрагиваются AssemblyInfo.цезий. ,sln и свойства>приложение>имя сборки и пространство имен по умолчанию. Обязательно обновите их с помощью новое имя.
Откройте проводник, если папка со старым именем все еще существует, вам нужно удалить ее. Затем очистите и создайте решение, пока ошибка не исчезнет. (При необходимости очистите и постройте проект Один за другим, особенно затронутый проект.)
надеюсь, это поможет.
я исправляю эту проблему, выполнив следующие шаги:
- Очистить Решение
- Закрыть Visual Studio
- удаление / bin из каталога проекта
- Перезапустите Visual Studio
- Перестроить Решение
для меня уборка и строительство не работали. Разгрузка проекта не сработала. Перезапуск Visual Studio или даже ПК не работал. Вот что сработало:
перейдите к каждому из проектов, которые вызывают ошибку, и в ссылках удалите ссылку на проблемный проект и добавьте его снова. Это решает проблему.
проблема, похоже, связана с перемещением проекта (например, переместить его в папку), а затем другой проект, который ссылается на него, имеет свой путь неправильно и не может его найти.
очистка моего решения вызвала эту проблему с Visual Studio 2017. Разгрузка / перегрузка проектов или больше очистки не имели никакого значения. Единственное, что сработало, - это закрытие и перезапуск Visual Studio.
проверьте, что все проекты загружены. В моем случае один из проектов был выгружен, и перезагрузка проекта очищает ошибки.
У меня была такая же ошибка. В моем случае я построил библиотеку (назовите ее commsLibrary), которая ссылалась на другие библиотеки, включив их в качестве проектов в мое решение. Позже, когда я построил проект и добавил свой commsLibrary, всякий раз, когда я буду строить, я получил файл метаданных не может быть найден ошибка. Поэтому я добавил библиотеки, которые Моя библиотека comms ссылалась на текущий проект, затем он смог построить.
У меня была та же проблема, даже без каких-либо других ошибок, отображаемых в представлении "список ошибок" после "перестроить решение". Однако в представлении "вывод" я увидел ошибку, которая стояла за проблемой:
основная ссылка " C:...\примет вид myproj.dll " не удалось решить, потому что он был построен против ".NETFramework, версия=v4.6.1 " рамки. Это выше, чем в настоящее время целевой платформы ".NETFramework, версия=v4.5"
Как только я исправил это, проблема была решенный.
в моем случае, мне пришлось открыть .файл csproj и добавьте ссылку вручную, например (Microsoft.Увеличение.Тождественность.Хранилище.dll отсутствовала):
<Reference Include="Microsoft.Extensions.Identity.Stores">
<HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.identity.stores.0.1\lib\netstandard2.0\Microsoft.Extensions.Identity.Stores.dll</HintPath>
</Reference>