Задать вопрос
@paz

Билдить солюшен под разными фреймворками

Привет. Есть большой солюшн c кучей проектов. Есть необходимость билдить его под 3.5 и под 4.5 не меняя кода. Можно ли это как то сделать в Visual Studio?
  • Вопрос задан
  • 2899 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    DEV-005 Управление зависимостями в .NET
    1 неделя
    Далее
  • Stepik
    PRO C#. Управление памятью
    3 недели
    Далее
  • OTUS
    C# Developer. Basic
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@sergei-grigorev
Попробуйте делать сборки через NAnt
nant.sourceforge.net/faq.html#change-targetframework
Ответ написан
Комментировать
shai_hulud
@shai_hulud
вполне можно указать фреймворк в параметрах билда:

%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe "c:\dev\MySolution.sln" /p:Configuration=RELEASE /p:TargetFrameworkVersion=v3.5


в проекте можно вотнуть пару условий на версию фреймворка:
<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v3.5' ">
    <DefineConstants>$(DefineConstants);NET35</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v4.5' ">
    <DefineConstants>$(DefineConstants);NET45</DefineConstants>
  </PropertyGroup>


А потом в коде можно жарить предпроцессором:
#if NET45
    const int MagicNumber = 42;
#elseif NET35
    const int MagicNumber = -1;
#endif

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы