Я работаю над проектом MVC 5 в Visual Studio 2017 и пытаюсь выполнить две задачи, но у меня возникает конфликт:
- Я хочу использовать c # 6 (вминимум) функций в моих частичных представлениях (бритва).
- Когда я публикую сайт, я хочу отобразить номер сборки на странице «О программе».
Я использую сборку Azure DevOpsконвейер, который запускается примерно так:
- Клон из Git
- Обновите AssemblyInfo.cs, указав номер сборки, поместив номер сборки в:
[assembly: AssemblyVersion("1.0.0.2")]
[assembly: AssemblyFileVersion("1.0.0.2")]
Сборка Публикация
Чтобы включить c # 6 для моих частичных представлений, я добавил пакет nuget, Microsoft.CodeDom.Providers.DotNetCompilerPlatform Это не обновило мой веб.config, как и ожидалось, поэтому я добавил:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,
Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
</system.codedom>
Langversion: 6 включил для меня C # 6.
Но я прочитал это, чтобы использовать AssemblyInfo.cs, вы должнызамените атрибут compilerOptions на compilerOptions = "path / AssemblyInfo.cs". При этом будет использоваться файл AssemblyInfo, который был обновлен в конвейере.
Работает сторона C # 6, но с номером сборки:
- Если я укажу опции компилятора на путь / AssemblyInfo.cs, как мне все же указать c # 6?
- Если установлено AssemblyInfo.cs, я проверил, используется ли этот файл, но в моем файле web.config
<appSettings>
<add key="BuildVersion" value="1.0.0.0" />
</appSettings>
никогда не обновляется, когда я выполняю сборку / публикацию. Как получить номер сборки из AssemblyInfo.cs в web.config?