Файл метаданных '.dll' не найден - PullRequest
591 голосов
/ 14 сентября 2009

Я работаю над проектом WPF, C # 3.0 и получаю эту ошибку:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

Вот как я ссылаюсь на свои пользовательские элементы управления:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

Это происходит после каждой неудачной сборки. Единственный способ получить решение для компиляции - закомментировать все мои пользовательские элементы управления и пересобрать проект, а затем я раскомментирую пользовательские элементы управления, и все в порядке.

Я проверил конфигурации заказов и зависимостей.

Как видите, похоже, что он усек абсолютный путь к файлу DLL ... Я читал, что есть ошибка с длиной. Это возможная проблема?

Это очень раздражает и комментировать, собирать и раскомментировать, сборка становится чрезвычайно утомительной.

Ответы [ 71 ]

10 голосов
/ 11 декабря 2015

Я добавил новый проект в свое решение и начал его получать.

причина? Проект, который я привел, был нацелен на другую среду .NET (4.6, а два других - 4.5.2).

9 голосов
/ 31 марта 2017

Для меня это произошло, когда я включил новый проект в решение.

Visual Studio автоматически выбирает .NET Framework 4.5.

Я перешел на версию .NET 4.5.2, как и другие библиотеки, и она заработала.

9 голосов
/ 28 января 2014

Для меня это была попытка найти DLL в пути, который раньше содержал Проект, но мы переместили его в новый каталог. У решения был правильный путь к проекту, но Visual Studio почему-то продолжал искать в старом месте.

Решение: переименуйте каждый проект проблемы - просто добавьте символ или что-то еще - затем переименуйте его обратно к его первоначальному имени.

Это должно сбросить некоторый глобальный кэш некоторого вида в Visual Studio, потому что это очищает и эту проблему, и некоторые подобные, в то время как такие вещи, как Clean, не делают.

8 голосов
/ 11 июля 2014

Для меня сработали следующие шаги:

  • Найти проект, который не строится
  • Удалить / добавить ссылки на проекты в рамках решения.
8 голосов
/ 19 декабря 2014

Я тоже потянулся с этой проблемой, но после попытки предыдущих ответов единственное, что мне помогло, это открыть каждый проект в моем решении 1 на 1 и построить их индивидуально.

Затем я закрыл Visual Studio 2013, снова открыл свое решение, и оно скомпилировалось нормально.

Это странно, потому что если я щелкнул каждый проект в моем обозревателе решений и попытался построить их таким образом, все они потерпели неудачу. Мне пришлось открыть их одному в их собственных решениях.

7 голосов
/ 24 июля 2014

Мой пример проблемы был вызван общим проектом, в котором было дублированное имя класса (под другим именем файла). Странно, что Visual Studio не смогла обнаружить это и просто взорвала процесс сборки.

7 голосов
/ 31 октября 2014

Я получил эту проблему в Visual Studio 2012 в решении, в котором было много проектов. Перестройка каждого проекта в решении вручную в том же порядке, что и в Порядке сборки проекта (щелчок правой кнопкой мыши и перестроение в обозревателе решений), исправила его для меня.

В конце концов я получил сообщение об ошибке компиляции. Я исправил ошибку, и после этого решение было бы правильно построено.

6 голосов
/ 18 февраля 2014

Возвращаясь к этому несколько лет спустя, эта проблема, скорее всего, связана с максимальным пределом пути Windows:

Именование файлов, путей и пространств имен , Ограничение максимальной длины пути

6 голосов
/ 01 ноября 2015

В моем случае проблема была вызвана простой ошибкой сборки,

ошибка CS0067: событие 'XYZ' никогда не используется

, который по какой-либо причине не появился в окне ошибки.

Из-за этого система сборки Visual Studio, похоже, пропустила ошибку и попыталась построить зависимые проекты, которые, в свою очередь, потерпели неудачу с сообщением о метаданных.

Рекомендация - как бы глупо это не звучало -:

Первый взгляд на ваше Окно вывода !

Мне потребовалось полчаса, прежде чем эта идея поразила меня ...

6 голосов
/ 10 апреля 2014

В моем случае проблема заключалась в том, что я вручную удалил некомпиляционный файл, помеченный как «отсутствующий». Однажды я удалил ссылку на отсутствующий сейчас файл и перекомпилировал - все было хорошо.

...