Я пытаюсь найти способ использовать несколько версий Visual Studio в одном и том же наборе проектов. Большинство нашей команды использует 2008 год, но я тестирую 2010 год. Все проекты - С#.
Как я понимаю, Visual Studio 2010 настаивает на обновлении всех проектов, поэтому невозможно оставить все файлы решений/проектов в виде версий 2008 года. Я действительно не хочу разветвлять все исходное дерево, поэтому я хотел бы найти способ совместного использования нескольких версий файлов проекта. В настоящее время я дублировал все файлы .sln и .csproj, поэтому у меня есть:
# 2008 versions
SolutionName.sln
ProjectA.csproj
ProjectB.csproj
# 2010 versions
SolutionName.vs2010.sln
ProjectA.vs2010.csproj
ProjectB.vs2010.csproj
Проблема заключается в том, что несмотря на то, что версии версий 2010 года, имеющие одинаковые имена сборок, как их сопоставления 2008 года, Visual Studio (2010) полагает, что все проекты ProjectName.vs2010
. Переименование проекта в VS завершается с сообщением о том, что файл с тем же именем уже существует.
Я не думаю, что включение версии 2010 в подпапку было бы решением, поскольку оно завело бы любые относительные пути в файлах.
Итак:
- Есть ли способ убедить VS, что имя проекта не должно быть суффиксным .vs2010 (т.е. не то же имя, что и файл)? Или
- Я подхожу к этому неправильно? Есть ли лучший способ работы с несколькими версиями VS в тех же проектах?
UPDATE
Моя первоначальная претензия была неправильной, что Visual Studio не смогла найти ссылки на проект, потому что она использовала имя файла. Конкретная проблема, с которой я столкнулся, заключалась в том, что в моих файлах сборки ссылки на проект имели форму:
<ProjectReference Include="..\..\path\to\ProjectName.vs2010.csproj">
<Project>{48354450-2462-449D-8B32-EFECA39F6CD7}</Project>
<Name>ProjectName</Name>
</ProjectReference>
Файлы проекта, которые я скопировал, по-видимому, имеют другой идентификатор (или что-то еще в элементе <Project>
. Простое удаление элемента из файла сборки решило эту конкретную проблему:
<ProjectReference Include="..\..\path\to\ProjectName.vs2010.csproj">
<Name>ProjectName</Name>
</ProjectReference>
Сказав, что весь процесс дублирования файлов проекта и решений на самом деле был большим, чем это стоит, поэтому я не рекомендую этот подход.