Я знаю, что есть еще один вопрос с той же проблемой, но я ответил на все эти ответы, и никто мне не помог. :( ( Это был вопрос. )
Я только что создал новый проект ASP.NET MVC и присоединился к нескольким '.dll' в решении. Теперь, когда я пытаюсь собрать проект, я получаю сообщение об ошибке, показанное ниже, в 3 из 5 библиотек.
Error CS0006 Metadata file 'C:\Users\...\source\Database\bin\Debug\DataAccessLayer.dll' could not be found Logic C:\Users\...\source\Logic\CSC 1 Active
Error CS0006 Metadata file 'C:\Users\...\source\Logic\bin\Debug\Logic.dll' could not be found PTS2-MVC C:\Users\...\source\PTS2-MVC\CSC 1 Active
Error CS0006 Metadata file 'C:\Users\...\source\PTS2-MVC\bin\PTS2-MVC.dll' could not be found PTS2-MVC.Tests C:\Users\...\source\PTS2-MVC.Tests\CSC 1 Active
Когда я перехожу в папку bin \ debug этой .dll, я вижу, что она пуста, а другая .dll, в которой я не получаю сообщения об ошибке, не пуста. Но я не знаю, как это исправить или что я сделал, чтобы это произошло.
Наиболее распространенный ответ должен пойти на свойства этого решения и перейти к конфигурации и снимите флажок -> применить -> Проверка и применить снова, но это не работа
c#
asp.net-mvc
metadata
visual-studio-2017
Свенмарим
источник
источник
Ответы:
Проблема заключалась в том, что в моем проекте были другие нормальные сообщения об ошибках, и, очевидно, после того, как я их исправил и когда я снова очистил и построил свой проект, все .dll успешно завершились.
Убедитесь, что в вашем проекте нет других сообщений об ошибках, и если они есть, сначала исправьте их!
источник
Действия по устранению этой ошибки: Не удалось найти файл .dll метаданных.
Чистые все проекты.
Выгрузить все проекты.
Перезагрузить все проекты.
Решение ReBuild.
Тогда проблема решена.
источник
В моем случае произошла ошибка, но она не была должным образом проанализирована VS и отображена в окне «Список ошибок». Чтобы найти его, вы часто просматриваете «Вывод» из окна сборки, анализируете сообщения, начиная сверху вниз, и устраняете фактическую ошибку. M $, исправьте пожалуйста! Это огромная трата времени коллективных разработчиков миров.
источник
Дважды проверьте имя папки вашего проекта. В моем случае папка моего проекта была названа с пробелами. Когда я клонировал проект из Team Foundation Server с помощью git bash, пробелы в имени папки были преобразованы в: «% 20». Вернув их обратно к пробелам, я решил проблему.
источник
У меня возникла проблема с решением, содержащим несколько проектов.
Это произошло из-за дублирования .csproj и добавления копии в решение. A .csproj файл содержит
<ProjectGuid>
элемент. Я установил GUID скопированного проекта на новый.Обновление: какой GUID вы используете, не имеет значения, он просто должен отличаться от GUID другого проекта. Вы можете создать новый GUID изнутри Visual Studio:
Tools -> Create GUID
и скопировать часть между фигурными скобками, то есть{...}
. Используйте это как новое значение для<ProjectGuid>
элемента.Я также выполнил следующие шаги (не обязательно, но они не повредят):
источник
Я исправляю эту проблему, выполнив следующие действия:
источник
У меня такая же проблема, проблема заключалась в том, что в пути решения есть пробелы в имени и vs по какой-то причине не разрешает пакет ... снова загрузите мой репозиторий, просто переименовав решение без пробелов в имени.
например:
должно быть
источник
%20
имя папки.Для меня уборка и строительство не работали. Выгрузка проекта не сработала. Перезапуск Visual Studio или даже ПК не работал. Вот что сработало:
Перейдите в каждый из проектов, в которых возникает ошибка, и в разделе «Ссылки» удалите ссылку на проблемный проект и добавьте ее снова. Это решает проблему.
Проблема, похоже, связана с перемещением проекта (например, переместите его в папку), а затем с другим проектом, который ссылается на него, имеет неправильный путь и не может его найти.
источник
У меня была та же проблема, даже если другие ошибки не отображались в представлении «Список ошибок» после «Восстановить решение». Однако в представлении «Вывод» я увидел ошибку, которая стояла за этой проблемой:
Первичная ссылка «C: ... \ myproj.dll» не может быть разрешена, поскольку она была создана на основе платформы «.NETFramework, Version = v4.6.1». Это более поздняя версия, чем текущая целевая платформа .NETFramework, Version = v4.5.
Как только я исправил это, проблема была решена.
источник
Еще одна вещь, которую вы должны проверить, - это Target Framework любых проектов, на которые есть ссылки, чтобы убедиться, что вызывающий проект использует ту же или более позднюю версию платформы.
У меня была эта проблема, я попробовал все ранее предложенные ответы, а затем с догадкой проверил фреймворки. Один из упомянутых проектов был нацелен на 4.6.1, в то время как вызывающий проект был только на 4.5.2.
источник
Выполнение этой команды в bash для удаления всех ящиков сработало для меня
$ find . -iname "bin" -o -iname "obj" | xargs rm -rf
Не могу гарантировать, что это сработает для кого-то еще
Также имейте в виду, что он удалит все файлы bin, поэтому вам придется пересобрать все проекты. Очевидно, лучше всего перед использованием cd в соответствующий каталог.
источник
Очистка моего решения вызвала эту проблему с Visual Studio 2017. Выгрузка / перезагрузка проектов или дополнительная очистка не имели никакого значения. Единственное, что сработало, это закрытие и перезапуск Visual Studio.
источник
Убедитесь, что все проекты загружены. В моем случае один из проектов был выгружен, и перезагрузка проекта устраняет ошибки.
источник
В моем случае мне пришлось открыть файл .csproj и добавить ссылку вручную, вот так (Microsoft.Extensions.Identity.Stores.dll отсутствовал):
<Reference Include="Microsoft.Extensions.Identity.Stores"> <HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.identity.stores\2.0.1\lib\netstandard2.0\Microsoft.Extensions.Identity.Stores.dll</HintPath> </Reference>
источник
Закройте Visual Studio, найдите файл .suo решения, удалите его, снова откройте Visual Studio.
источник
Что сработало для меня:
Консоль диспетчера пакетов (сообщество Visual Studio 2019):
Восстановить решение.
источник
В моем случае я столкнулся с такой же ошибкой. Одно из моих проектных решений ссылалось на сборку из другого местоположения NuGet. Я просто изменил его на правильное место, чтобы устранить эту ошибку и восстановить. и вау, проект успешно построен, и все остальные ошибки исчезли.
источник
У меня была такая же ошибка. В моем случае я создал библиотеку (назовем ее commsLibrary), которая ссылалась на другие библиотеки, включая их в качестве проектов в мое решение. Позже, когда я построил проект и добавил свою библиотеку commsLibrary , всякий раз, когда я создавал , я получал, что файл метаданных не может быть найден. Поэтому я добавил библиотеки, которые моя библиотека comms ссылалась на текущий проект, после чего он смог построить.
источник
После того, как я столкнулся с таким количеством проблем, вот решение, которое я нашел.
откройте этот файл в любом текстовом редакторе и найдите недостающий файл ItemGroup.
<ItemGroup> <None Include="..." /> </ItemGroup>
удалите эту ItemGroup и снова откройте свой проект и создайте
источник
У меня была такая же проблема, и я попробовал решения из файла метаданных. '.Dll' не может быть найден
но ничего из этого не сработало.
Итак, после проб и ошибок я исправил это, выгрузив и перезагрузив проект, выполнив сброс файла конфигурации и исправив проблему.
источник
Я построил 10 проектов из 25 проектов в решении индивидуально, один за другим, на основе зависимостей. Затем соберите решение. Это исправлено для меня
источник
Я была такая же проблема. Моя проблема заключалась в том, что кто-то из команды переместил папку класса, и проект ее искал.
Для меня было 44 ошибки; 43 оканчивалась на .dll (поиск зависимости), а первая в списке ошибок заканчивалась на .cs (поиск фактического класса). Я пробовал чистую сборку и очистку, выгрузку, перезагрузку, сборку, но ничего не работало. В итоге я нашел класс в проекте и просто удалил его, так как он все равно отображался как недоступный, после чего последовала чистая сборка.
Это помогло мне! Надеюсь это поможет.
источник
У меня было 2 файла (и 2 класса) в одном проекте с тем же именем.
источник
В моем случае я удалил один файл прямо из меню git в командном обозревателе, что вызывало эту проблему. Когда я проверил обозреватель решений, он все еще показывал удаленный файл как файл без ссылок. Когда я удалил этот файл из обозревателя решений, я смог успешно построить проект.
источник
Для меня сработало:
Удалите, а затем повторно установите указанный пакет Nuget, в котором есть ошибка.
источник
В моем случае я запустил тесты и получил ошибку CS0006. Оказалось, что я запускаю тесты в режиме Release. Переключение в режим отладки исправило эту ошибку.
источник
Эта проблема возникает, когда вы переименовали свое решение, и .NET Framework не может найти старое решение.
Чтобы решить эту проблему, вам необходимо найти и заменить старое имя решения и все зависимости от него новым именем. Если вам нужно просмотреть физический файл через проводник, сделайте это.
Файлы , которые , как правило , поражаются
AssemblyInfo.cs
, имя и пространство имен по умолчанию. Обязательно обновите их новым именем..sln
Properties > Application > Assembly
Откройте файловый менеджер, если папка со старым именем все еще существует, ее необходимо удалить. Затем очистите и создавайте решение, пока ошибка не исчезнет. (При необходимости очистите и постройте проект один за другим, особенно затронутый проект.)
источник
В моем случае проблема заключалась в том, что я ссылался на проект, в котором я закомментировал все
.cs
файлы.Например, ProjectApp ссылается на ProjectUtility. В ProjectUtility у меня был только 1
.cs
файл. Я больше не использовал его, поэтому закомментировал весь файл. В ProjectApp я не вызывал код из ProjectUtility, но у меня былusing ProjectUtility;
один из.cs
файлов ProjectApp . Единственная ошибка, которую я получил от компилятора, - это ошибка CS0006 .Я раскомментировал
.cs
файл в ProjectUtility, и ошибка исчезла. Поэтому я не уверен, что отсутствие кода в проекте приводит к тому, что компилятор создает недопустимую сборку или вообще не генерирует DLL. Для меня исправление заключалось в том, чтобы просто удалить ссылку на ProjectUtility, а не комментировать весь код.Если вам интересно, почему я прокомментировал весь код из указанного проекта вместо удаления ссылки, я сделал это, потому что я что-то тестировал и не хотел изменять
ProjectApp.csproj
файл.источник