Как создать один и тот же проект VS с несколькими файлами .csproj в зависимости от версии VS - PullRequest
1 голос
/ 21 февраля 2011

Иногда я видел решение, включающее до трех файлов .csproj для каждого проекта в решении. Примерно так:

Project.UI.2005.csproj
Project.UI.2008.csproj
Project.UI.2010.csproj

и то же самое с .sln файлами:

ProjectSolution.2005.sln
ProjectSolution.2008.sln
ProjectSolution.2010.sln

Так что, если вы копируете решение и хотите открыть его, используя VS2005 , вам просто нужно открыть Project.UI.2005.csproj или ProjectSolution.2005.sln.

Каков наилучший способ создания этих 3 (или 2) файлов, чтобы иметь возможность открывать одно и то же решение в нескольких версиях Visual Studio?

Возможно, единственный способ сделать это - вручную изменить .sln / .csproj. Если так:

Как правильно изменить эти файлы, чтобы избежать сбоев решения?

Я хочу сделать это, потому что иногда я разрабатываю приложения, используя VS2010 и при развертывании исходного кода для моих клиентов, они не могут открыть его в VS2008 , а затем сделать несколько настроек.

Примечание
Я знаю, что будут проблемы со ссылками и компиляцией, если я использую функции, включенные только в .NET Framework v4.0 или аналогичные. Предположим, что все проекты в решении компилируются в .NET Framework 2.0 ( указано в свойствах проекта ).

1 Ответ

0 голосов
/ 04 марта 2011

Я наконец-то закончил разработку небольшого приложения для этого. Я все еще тестирую его, но пока он работает хорошо.

Все, что вам нужно сделать, это выбрать файл .sln, который вы хотите преобразовать, и указать версии, участвующие в преобразовании, и он сделает всю работу за вас.

Если у вас есть проект VS 2010 :

  • Решение (Solution.sln)
    • Project_1 (Project_1.csproj)
    • Project_2 (Project_2.csproj)

и вы хотите понизить версию (до 2008), он сохранит эти файлы, а также создаст:

  • Solution.2008.sln
    • Project_1.2008.csproj
    • Project_2.2008.csproj

И вы сможете без проблем открывать Solution.2008.sln с помощью Visual Studio 2008 .

Как только я закончу, я поделюсь здесь исполняемыми файлами и исходниками.

...