Получение номера сборки из AssemblyInfo в web.config в Visual Studio 2017 при публикации сайта - PullRequest
0 голосов
/ 08 ноября 2019

Я работаю над проектом MVC 5 в Visual Studio 2017 и пытаюсь выполнить две задачи, но у меня возникает конфликт:

  1. Я хочу использовать c # 6 (вминимум) функций в моих частичных представлениях (бритва).
  2. Когда я публикую сайт, я хочу отобразить номер сборки на странице «О программе».

Я использую сборку Azure DevOpsконвейер, который запускается примерно так:

  1. Клон из Git
  2. Обновите 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, но с номером сборки:

  1. Если я укажу опции компилятора на путь / AssemblyInfo.cs, как мне все же указать c # 6?
  2. Если установлено AssemblyInfo.cs, я проверил, используется ли этот файл, но в моем файле web.config
  <appSettings> 
        <add key="BuildVersion" value="1.0.0.0" />
  </appSettings>

никогда не обновляется, когда я выполняю сборку / публикацию. Как получить номер сборки из AssemblyInfo.cs в web.config?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...