如何从MSBuild自动增加汇编或汇编文件版本?

时间:2017-11-21 19:53:56

标签: msbuild t4

约束是: 使用Visual Studio 2017。 最终需要从一个名为MSBuild的PowerShell脚本调用。

不确定其相关性,但需要能够构建以下内容:

  • asp.net 461
  • asp.net-core 1.1和2.0程序集

到目前为止尝试失败:

  • How to have an auto incrementing version number (Visual Studio)?< - 仅在从VS构建时才有效。
  • Code Generation in a Build Process - 被描述为Microsoft关于使用&#34; TextTemplating&#34;的最新文档。与MSBuild。国家需要复制某些DLL来构建服务器..文件不在doc中指定的位置,并且不知道在哪里复制它们,我找到了所有文件。另外修改了Microsoft.TextTemplating.targets导入<#@ 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); #> 路径以更正位置,但在运行MSBuild时,我得到了。 &#34;错误MSB4018:&#34; TransformTemplates&#34;任务意外失败。&#34;
  • This SO Answer - MSBuild support for T4 templates in Visual Studio 2017 RTM &lt; - 如上所述给出相同的MSBuild运行时错误。

"Code Generation in a Build Process"的示例尝试适用于VS的构建,但不适用于MSBuild:

放在项目的根目录中 - handleVersioning.tt:

<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> 

的.csproj:

msbuild myProject.csproj /t:TransformAll

这样称呼: Arrays.asList(array).subList(x, y)

0 个答案:

没有答案