Как выполнить автоматическую сборку или версию файла сборки из MSBuild?
Ограничения: Использование Visual Studio 2017. Нужно в конечном итоге вызвать из powershell script вызов MSBuild.
Не уверен, что он имеет значение, но должен иметь возможность построить следующее:
- asp.net 461
- сборки asp.net-core 1.1 и 2.0
Неудачные попытки:
- Как получить номер с добавочной версией (Visual Studio)? < - Это работает при построении только из VS.
- Генерация кода в процессе сборки - Описывается как последний документ Microsoft по использованию "TextTemplating" с MSBuild. Государствам необходимо скопировать определенные DLL для сборки сервера. Файлы не расположены там, где они указаны в doc, и не знают, где их копировать, я нашел все файлы. Кроме того, изменен
.csproj's
importMicrosoft.TextTemplating.targets
путь к правильному расположению, но при запуске MSBuild я получаю. msgstr "ошибка MSB4018: непредвиденная задача" TransformTemplates ". - Этот SO-ответ - поддержка MSBuild для шаблонов T4 в Visual Studio 2017 RTM < - Дать такую же ошибку выполнения MSBuild Runtime, как указано выше.
Пример попытки "Генерация кода в процессе сборки" Это работает на сборке из VS, но не в MSBuild
помещен в корень проекта - handleVersioning.tt:
<#@ template language="C#" #>
using System.Reflection;
[assembly: AssemblyVersion("1.0.0.*")]
[assembly: AssemblyFileVersion("<#= this.Year #>.<#= this.Month #>.<#= this.Day #>.<#= this.Minute #>")]
<#+
int Year = DateTime.UtcNow.Year;
int Month = DateTime.UtcNow.Month;
int Day = DateTime.UtcNow.Day;
int Minute = unchecked((int)DateTime.UtcNow.TimeOfDay.TotalMinutes);
#>
.csproj:
<Import Project="...hardcoded...\Microsoft.CSharp.targets" />
<!-- This is the important line: -->
<Import Project="...hardcoded...\TextTemplating\Microsoft.TextTemplating.targets" />
<PropertyGroup>
<TransformOnBuild>true</TransformOnBuild>
<OverwriteReadOnlyOutputFiles>true</OverwriteReadOnlyOutputFiles>
<TransformOutOfDateOnly>false</TransformOutOfDateOnly>
</PropertyGroup>
Вызывается так:
msbuild myProject.csproj /t:TransformAll