Каждый раз, когда я запускаю Visual Studio 2008, при первой попытке запустить проект я получаю сообщение об ошибке CS0006. Файл метаданных ... не может быть найден. Если я сделаю перестройку полного решения, оно будет работать.
Немного информации о решении:
Я работаю в режиме отладки, и Visual Studio жалуется, что не нашел dll: s в папке выпуска.
Проекты, на которые жалуется Visual Studio, используются во многих других проектах решения.
Я изменил путь вывода по умолчанию для всех проектов на ...... \ build \ debug \ ProjectName и ...... \ build \ release \ ProjectName соответственно. (Просто чтобы собрать все файлы сборки в одном каталоге)
У меня такая же проблема с другим решением.
Решение создавалось с нуля.
В решении 9 проектов. Один WPF и 8 библиотек классов с использованием dotnet 3.5.
Есть идеи о том, что вызывает эту проблему?
источник
Ответы:
У меня была аналогичная проблема, когда «не удалось найти метаданные». в свойстве решения убедитесь, что в диспетчере сборки / конфигурации для каждого проекта установлен флажок «сборка» .
источник
Обычно это вызвано тем, что проект упоминается в другом решении, нежели тот, который вызывает ошибку. Если вы очистите другое решение или разветвите код, вы, скорее всего, увидите эту ошибку. Решение состоит в том, чтобы прокрутить список ошибок типа «метаданные не найдены» и посмотреть ссылки на проекты. 9 из 10 раз вы увидите неработающую ссылку на проект, которого нет в этом решении. Добавьте проекты, чтобы исправить опорные ошибки, и перестройте. Это должно исправить это.
(Я столкнулся с этим только сегодня, и в прошлом, и это ВСЕГДА работало)
источник
У меня была эта проблема, я не уверен, поможет ли она, но моя была вызвана наличием двух разных версий одного и того же проекта, на которые ссылаются два разных решения. Когда я построил решение со ссылкой на правильный проект первым, второе решение будет работать нормально, однако, если я очистил первое решение и попытался построить второе решение, это не помогло бы с этими сообщениями об ошибках ссылки dll.
Решение для меня заключалось в том, чтобы выяснить, что у меня есть два проекта с одинаковым именем, которые были случайно продублированы, и удалить ссылку на старый неправильный проект и добавить ссылку на новый.
В любом случае кажется, что эти сообщения - отвлекающий маневр, я бы проверил вывод вашей сборки и нашел первый проект, который не удалось собрать, и очень внимательно проверил ссылки на этот проект.
источник
Еще одна вещь, которую нужно проверить, - это длина пути ... что вызывает также не найденный файл метаданных и ошибки компиляции ... Я просто переименовал свои папки в более короткие пути и вуаля, классы, которые не были распознаны и остались черными, стали синими просто путем переименования Папка.
источник
Для меня у меня был проект, упомянутый в другом проекте. Он не показал, что он был поврежден в списке ссылок в окне проводника решений, но я все равно удалил и прочитал его. Теперь он строится просто отлично!
источник
Я прошел все эти шаги в VS2012, но я продолжал сталкиваться с этой проблемой при создании решения в целом (отдельные проекты были созданы отлично, без ошибок).
Я обнаружил, что если вы щелкните правой кнопкой мыши свое решение в обозревателе решений и выберите «Порядок сборки», вы увидите порядок, который VS использует для восстановления вашего решения. Скорее всего, вышло из строя.
Вы можете исправить порядок сборки, щелкнув вкладку «Зависимости» и выбрав проекты, которые зависят от других проектов в решении, и проверив проекты, от которых они зависят. После того, как вы нажмете ОК и выполните восстановление решения, все будет в порядке.
источник
То, как я обошел это в прошлом в VS2005, а также сейчас в VS2008, - это убедиться, что все зависимости верны, а ссылки указывают на проекты, а не на библиотеки DLL. Затем пройдите и вручную соберите каждый проект в порядке зависимости. После того, как последняя сборка будет построена, вы можете запустить полную сборку решения и все будет в порядке.
Этот ответ предназначен для использования в будущем для других, поскольку я знаю, что этому вопросу больше 15 месяцев.
Ура
источник
Я хотел бы отметить пару моментов.
Если вы полагаетесь на файл решения в качестве файла сборки в MSBuild, убедитесь, что вы добавляете проекты в файл решения в том порядке, в котором вы хотите, чтобы они строились, т. Е. На основе порядка взаимной зависимости проектов. Это становится очень важным, если у вас есть проекты в решении, от которых зависят другие проекты, но ссылки были добавлены как «Ссылки», а не как «Ссылки на проекты».
Вам следует избегать этого, как чумы, но если вам все же нужно это сделать, то, по крайней мере, убедитесь, что зависимые проекты появляются раньше в файле решения.
Вы должны иметь в виду, что способ создания порядка сборки в Visual Studio не совсем такой, как в MSBuild. Это связано с тем, что MSBuild в первую очередь зависит от файла проекта, чтобы сообщить ему, каковы зависимости, тогда как Visual Studio также может сохранить их в файле решения. Поэтому иногда можно увидеть ситуации, когда Visual Studio идеально создает решение, но MSBuild просто не может этого сделать.
У меня было несколько случаев, когда мне приходилось вручную настраивать порядок, в котором проекты отображаются в файле решения, а также порядок, в котором проекты были перечислены в элементе ProjectReferences в проекте веб-сайта в файле решения.
Я надеюсь, что приведенная выше информация поможет.
источник
Если вы, например, используете контексты данных LinqtoSQL, а файл .designer.cs отсутствует, вы получите сообщение об ошибке «Не удалось найти файл метаданных».
Восстановить файл designer.cs очень просто.
Откройте dbml с помощью xml view. Добавьте пустую строку, затем удалите ее и сохраните. Это должно восстановить ваш файл designer.cs.
В некоторых случаях, если у вас есть код внутри кода программной части контекста данных, этот обходной путь не сработает. В этом случае выньте код из кода позади и поместите его в блокнот или что-то в этом роде. Проделайте трюк добавления, а затем удаления строки из DC и сохраните. Теперь верните код и сохраните.
источник
У меня аналогичная проблема возникает каждый раз, когда я обновляю проект из SVN.
Другое решение для ASP.NET:
C:\WINDOWS\microsoft.net\framework\v…\Temporary ASP.NET File\
.источник
Я также испытал эту ошибку, и причина в том, что проект ссылается на самого себя. Понятия не имею, как это произошло, но я просто удалил ссылку и вуаля
источник
Сначала убедитесь, что флажок «сборка» установлен в меню «Сборка -> Configuration Manager» для каждого проекта.
В случае, если у вас уже есть все проекты, выбранные в меню Build -> Configuration Manager, и перезапуск VS-трюка не работает для вас, чем вам нужно найти ссылку на файл (ы) (может быть dll или cs) в ваш проект и удалите эти ссылки вручную. Эти файлы / ссылки должны отображаться с желтым значком. Ошибка определенно подсказывает вам, какой проект решения вам следует изучить.
Причина этой ошибки заключается в том, что вы удалили файл (ы) вручную в проводнике Windows, а VS не обновил ссылку и не пытается найти файл, который больше не существует!
источник
В моем случае я обнаружил, что одно из моих решений ссылается на то, чего не было на компьютере (VBIDE). Как только я удалил оскорбительную ссылку, остальные проекты построились правильно. Надеюсь, это кому-то поможет.
А в другой ситуации я переместил код из одного проекта в другой, и этот фрагмент кода ссылался на Json.net. Я вручную добавил ссылку на Json.net, но из-за этого возникла проблема. Я решил это, установив Json.net через NuGet, и проблема исчезла. Надеюсь, это кому-то поможет.
источник
Произошло то же самое. У меня есть несколько решений, относящихся к одним и тем же проектам библиотеки (.net 3.5). Я заметил, что когда один был построен в отладочной / нормальной конфигурации, а другой с использованием другой директивы компилятора (sqlite / local mode), это могло произойти. Просто создайте оба проекта с одинаковыми директивами, и все будет в порядке.
источник
Если вы добавили в решение новый проект, убедитесь, что он есть в списке сборки (см. Configuration Manager).
источник
У меня возникла проблема с сохранением, когда я хотел включить файл dll, созданный Matlab. И я наконец решил это, скопировав файл .ctf, который, как я полагаю, означает сертификат, и модуль .netmodule, который необходим для правильной работы .dll вместе с файлом .dll. И это действительно сработало! Итак, я предлагаю проверить, нужны ли для .dll другие файлы.
источник
Windows 7 Максимальная 32 Visual Studio 2008 SQL Server v2005
Я получал ту же ошибку. И я решил удалить и снова добавить ссылки на проекты. Мне не удалось добавить их обратно, потому что ссылка на базу данных в каждом из упомянутых проектов была пустой.
После того, как я сбросил ссылку на базу данных на правильный параметр, я смог построить без дальнейших проблем. Кроме того, это была моя первая попытка перестроить этот проект после разветвления исходного кода в VSS.
Удачи
источник
У меня была эта ошибка, она была вызвана одной из моих зависимостей проекта, где имя сборки было изменено в проекте, но ссылка не была обновлена. Таким образом, обновление ссылки или переименование сборки исправит это.
источник
EE - В моем случае проблема была в проекте, который имеет структуру Entity, откройте диаграмму, перетащите любую таблицу на 2 см :) и сохраните, VS обновит все свои ссылки на БД ... создайте эти проекты и создайте решение , Buildssss.
источник
Единственное, что меня исправило (потому что я не использую VS2010 под учетной записью администратора), - это вручную переместить переменную среды VS120COMNTOOLS из системных переменных в пользовательские.
источник
У меня сработало удаление записей всех исходных файлов, которых больше нет в системе управления версиями и файловой системе, из файла .csproj.
Детальный подход:
Что ж, мой следующий ответ - это не просто краткое изложение всех решений, он предлагает нечто большее.
Секция 1):
В общих решениях:
У меня было 4 ошибки такого типа («файл метаданных не найден») и 1 ошибка «Исходный файл не может быть открыт (« Неопределенная ошибка »)».
Я попытался избавиться от ошибки «файл метаданных не найден». Для этого я прочитал много сообщений, блогов и т. Д. И обнаружил, что эти решения могут быть эффективными (резюмируя их здесь):
Перезапустите VS и попробуйте снова построить.
Перейдите в «Обозреватель решений» . Щелкните правой кнопкой мыши Решение. Зайдите в Свойства . Перейдите в «Диспетчер конфигураций» . Проверьте, отмечены ли флажки в разделе «Сборка» . Если какой-либо из них или все они не отмечены, отметьте их и попробуйте построить снова.
Если вышеуказанные решения не работают, следуйте последовательности, упомянутой в шаге 2 выше, и даже если все флажки отмечены, снимите их, проверьте еще раз и попробуйте построить снова.
Порядок сборки и зависимости проекта:
Перейдите в «Обозреватель решений» . Щелкните правой кнопкой мыши Решение. Перейдите в «Зависимости проекта ...» . Вы увидите 2 вкладки: «Зависимости» и «Порядок сборки» . Этот порядок сборки используется для сборки решения. Проверьте зависимости проекта и порядок сборки, чтобы убедиться, что какой-то проект (скажем, «project1»), который зависит от другого (скажем, «project2»), пытается построить до этого (project2). Это могло быть причиной ошибки.
Проверьте путь к отсутствующей .dll:
Проверьте путь к отсутствующей .dll. Если путь содержит пробел или любой другой недопустимый символ пути, удалите его и попробуйте построить снова.
Если это причина, измените порядок сборки.
Раздел (2):
Мой частный случай:
Я пробовал все вышеперечисленные шаги с различными перестановками и комбинациями с перезапуском VS несколько раз. Но мне это не помогло.
Итак, я решил избавиться от другой ошибки, с которой столкнулся («Исходный файл не может быть открыт (« Неопределенная ошибка »)»).
Я наткнулся на блог: http://www.anujvarma.com/tfs-errorsource-file-could-not-be-opened-unspecified-error/#comment-1539
Я попробовал шаги, упомянутые в этом блоге, и избавился от ошибки «Исходный файл не может быть открыт (« Неопределенная ошибка »)» и, к удивлению, избавился и от других ошибок («файл метаданных не найден») .
Раздел (3):
Мораль истории:
Попробуйте все решения, упомянутые в разделе (1) выше (и любые другие решения), чтобы избавиться от ошибки. Если ничего не работает, согласно блогу, упомянутому в разделе (2) выше, удалите записи всех исходных файлов, которые больше не присутствуют в системе управления версиями и файловой системе, из вашего файла .csproj .
источник