2014-09-23 4 views
3

Можно ли добавить условные шаги в свою сборку, чтобы проверить собственный условный символ компиляции и включить MVCBuildViews. Я нашел способ сделать это на основе конфигурации сборки, как такВключение MVCBuildViews на основе условных символов компиляции

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    <MvcBuildViews>true</MvcBuildViews> 
</PropertyGroup> 

, но не знает, как доступ к символам компиляции вместо этого.

План состоял в том, чтобы добавить символ в меню Настройки проекта> Build> Условная компиляция символы, которые контролируют MVCBuildViews

ответ

0

Предполагая, что вы используете C# необходимо настроить компилятор, чтобы использовать символ Например .TEST при построении взглядов и для этого вам необходимо изменить его конфигурацию в Web.config, используя следующие:

<system.codedom> 
     <compilers> 
     <compiler 
      language="c#;cs;csharp" 
      extension=".cs" 
      type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
      compilerOptions="/define:TEST" //Here you need to define your symbol 
      warningLevel="1" /> 
     </compilers> 
    </system.codedom> 

Если применить это непосредственно в Web.config он будет работать, но будет определять, например. TEST каждый раз. Так что вы действительно должны использовать Web.config transformations, так что символ применяется только для правильных конфигураций сборки.

Вы можете обновить проекты, которые были созданы с предыдущими выпусками MVC включать сборки времени проверки представлений, выполнив следующие действия:

1) Откройте файл проекта в текстовом редакторе.

2) Добавьте следующий элемент под самым верхним элементом: <MvcBuildViews>true</MvcBuildViews>

3) В конце файла проект, раскомментируйте <Target Name="AfterBuild"> элемент и изменить его в соответствии со следующим:

<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> 
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" /> 
</Target> 
+0

определяя ваши символы таким образом, это так же, как если бы вы добавили их через Project Properties> Build> условные символы компиляции? –

Смежные вопросы