Подтвердить что ты не робот

Не удалось найти файл метаданных csc error cs0006, создав приложение .net 3.5 с TFS 2012

Мы обновляемся с TFS 2008 до TFS 2012. Большинство наших приложений - это приложения .net 3.5.
Мы установили среду TFS 2012 и прошли процесс миграции. Когда мы пытаемся построить наши приложения .net 3.5, мы получаем ошибку:

csc error cs0006 metadata file could not be found........

Если мы возьмем приложение .net 3.5, обновите его до .net 4.x, затем запустите сборку снова, она работает нормально.

Я не могу обновить каждое приложение, которое у меня есть во время этой миграции. Есть ли что-то, что я могу потерять в миграции или в моей сборке, чтобы поддерживать 3.5?

У меня есть VS 2008, 2010, 2012, установленный на моем сервере сборки. У меня установлены .net frameworks и т.д.

Любая помощь оказывается полезной.

4b9b3361

Ответ 1

Зависимости проектов и порядок построения проекта могут быть указаны в Visual Studio 2012, щелкнув правой кнопкой мыши по проекту в проводнике решений и выбрав "Зависимости проектов". Выполняя это действие, ваш файл решения будет исправлен. В моем случае я смог исправить эту проблему без ручного редактирования файлов решений.

Ответ 2

Это, по-видимому, связано с тем, что файл решения Visual Studio не содержит зависимостей проекта. Я обнаружил, что мне пришлось вручную отредактировать файл решения, чтобы настроить зависимости с помощью GUID проекта.

Например, в нашем файле решения у нас было что-то вроде этого:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
EndProject

Обратите внимание, что никаких зависимостей не задано. Это должно быть больше похоже на то, где указаны дополнительные GUID - это GUID проекта, от которого зависит ProjectA.

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
    ProjectSection(ProjectDependencies) = postProject
        {EB576061-5081-4ED5-9146-1B20C893E51E} = {EB576061-5081-4ED5-9146-1B20C893E51E}
        {A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40} = {A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40}
        {03FAB21D-C077-499B-9B19-67971791D369} = {03FAB21D-C077-499B-9B19-67971791D369}
        {F5E0C7B8-36AD-46B0-A74D-9C48516E208A} = {F5E0C7B8-36AD-46B0-A74D-9C48516E208A}
    EndProjectSection
EndProject

Подробнее см. post.

Ответ 3

Мы получаем эти проблемы переключения между ветвями (со значительными изменениями). Когда это произойдет, я рекомендую следующее:

  • Закрыть Visual Studio
  • Закрыть экземпляры w3wp.exe(параноидальные и только если вы используете локальный IIS)
  • Поиск и удаление всех папок bin и obj
  • Очистить все промежуточные сборники JIT с C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Временные файлы ASP.NET\

После этого набора будет делать то, что должно делать "Чистое решение", но этого не делает. По сути, мы пытаемся удалить любую возможность чего-либо, кэшированного где угодно (что является наиболее распространенной причиной этих проблем).

Конечно, ваш пробег может отличаться, но для нас с 120 проектами и 1,3 миллиона строк рефакторов кода регулярно выкидывают эту проблему, и она разрешает ее надежно.

Ответ 4

У меня была аналогичная проблема. В моем случае я смог решить это на два шага. Во-первых, я очистил решение, используя параметр "Чистое решение". Затем, после того как решение было очищено, отладчик обнаружил, что я установил устаревшие версии библиотеки Microsoft.Aspnet.Mvc. Поэтому я установил новые из консоли библиотеки, используя следующие строки: Install-Package Microsoft.Aspnet.Mvc -version 5.2.3.0 -projectname _____________ Install-Package Microsoft.Aspnet.Mvc -version 5.2.3.0 -projectname _____________

Ответ 5

В моем случае один из проектов не строился, но об ошибках не упоминалось. Через пару часов потянув мои волосы и сбросив несколько F-бомб, Я, наконец, внимательно посмотрел на результат и заметил, что произошла ошибка:

введите описание изображения здесь

И все. Я исправил его, и все ошибки исчезли. Но мне стало любопытно, поэтому я сменил код на код, который не срабатывал при компиляции. Я сделал сборку, и теперь у меня появилась дружеская ошибка сборки. По какой-то причине ошибка не показывалась. Не знаю, почему...

Ответ 6

У меня также была ошибка.

Исправление было, чтобы проверить путь. На моем пути одна папка имеет имя abc %20ert. Это произошло из синхронизации пространства git. У Visual Studio есть проблемы с %20 в пути. Удаление этого решения проблемы.

Ответ 7

Я получил эту ошибку при использовании языковых функций С# 7 в проекте ASP.NET, где у нее не было последней версии пакета NuGet Microsoft.Net.Compilers, как описано в Включение С# 7 в приложении asp.net.