Понижение версии файла MSbuild с 4.0 до 3.5 - PullRequest
2 голосов
/ 08 апреля 2011

У меня есть куча файлов csproj, созданных с помощью Visual Studio 2010 и предназначенных для .NET 4.0.

Сейчас я пытаюсь скомпилировать на Mono 2.6.7 с помощью xbuild, однако 2.6.7 не может скомпилировать проекты версии 4 msbuild. (2.10.1 не имеет проблем, именно это мы и использовали, но я хочу провести эксперимент на 2.6.7).

Используя MonoDevelop, я изменил версию среды выполнения на Mono / .NET 3.5, и она прекрасно компилируется под 2.6.7. Однако переход на использование xbuild завершается неудачей.

Какие шаги необходимы для изменения версии MSBuild на 3.5? Верхняя строка в файле csproj довольно очевидна:

<Project ToolsVersion="4.0" 

И это легко изменить, но я обеспокоен тем, что есть менее очевидные вещи, которые также должны быть изменены.

Кто-нибудь знает точный способ понижения версии файла сборки с 4.0 до 3.5?

Ответы [ 3 ]

3 голосов
/ 08 апреля 2011

Я не знаю авторитетного руководства, но, сделав это несколько раз, я могу сказать то, что знаю.

Для простого приложения библиотеки классов или WinForms это довольно просто:

  1. * * * * * ToolsVersion в файле проекта должно быть установлено на 3,5, как вы указали.
  2. Если в файле проекта есть элемент OldToolsVersion (то есть он был ранее обновлен),это должно быть удалено.То же самое касается FileUpgradeFlags и UpgradeBackupLocation элементов.По сути, вы не хотите, чтобы OldToolsVersion был таким же, как текущая версия.
  3. Если вы использовали профиль Client Framework, в 3.5 элемент называется TargetFrameworkSubset.В 4.0 он называется TargetFrameworkProfile, поэтому элемент должен быть переименован.(Не уверен в применимости к Mono на этом).
2 голосов
/ 09 апреля 2011

Использование MonoDevelop, Project-> Экспорт решения в формат VS2008.

1 голос
/ 08 апреля 2011

Вы уверены, что должны понизить версию MSBuild?Просто скомпилируйте с помощью 2.10, , переключите среду на 2.6.7 и запустите тесты.

...