После автоматической обновления файла проекта для веб-приложения .NET 4.0 для работы с Visual Studio 2012 все сначала работало нормально, но при компиляции я получил много ошибок, таких как:
Описание: Исходный файл '.. \.. \.. \.. \..\File Path' не найден.
Файл: CSC
И когда вы пытаетесь создать с помощью MSBuild (передавая только полный путь проекта, без дополнительных параметров) в "Командная строка разработчика для VS2012", я получил в основном те же ошибки:
"CSC: ошибка CS2001: Исходный файл" x "не найден"
Все ошибки относятся к Связанным файлам (aspx, cs и т.д.), расположенным в других проектах веб-приложений, расположенных в глубине нашей ветки кода (поэтому все "...." в начале путей)
Для меня это выглядит как проблема с файлом Length. У меня была такая же проблема некоторое время назад при создании проектов на нашем сервере CI с использованием MSBuild, я смог управлять им, манипулируя файлы проекта перед их созданием с использованием пользовательского script без необходимости перемещать ветвь или уменьшать глубину проектов, мне не нужно было что-то перемещать, что важно в то время, когда разработчики, использующие Visual Studio 2010 может скомпилировать все без проблем. Я узнал, что компиляция/построение с помощью MSBuild отличается от того, что с DevEnv/VS, и, например, MSBuild не поддерживал создание проектов установки и DevEnv.
Так как это происходит сейчас с VS 2012/DevEnv 2012, плюс, что VS 2012 больше не поддерживает проекты настройки (например, msbuild), плюс VS/DevEnv имеет ту же проблему с длиной файла, похоже, VS 2012 наконец, используя msbuild под капотом или более тесно интегрированы, однако я не нашел статьи, подтверждающей это.
Изменение структуры ветки/изменение глубины проектов теперь не является вариантом по нескольким причинам (большая база кода, большое количество проектов, риск, время, усилия и т.д.).
У кого-то есть альтернативное решение или исправление для этой проблемы в Visual Studio 2012?
Привет,
P.D.: BTW Я уже проверил это сообщение Ошибка MSBuild со связанными файлами, но, как я уже сказал, перед изменением путей это не вариант прямо сейчас.