如何从MSBuild自动递增程序集或程序集文件版本?
制约因素包括: 使用Visual Studio 2017。 最终需要从调用MSBuild的powershell脚本调用 不确定其相关性,但需要能够构建以下内容:如何从MSBuild自动递增程序集或程序集文件版本?,msbuild,t4,Msbuild,T4,制约因素包括: 使用Visual Studio 2017。 最终需要从调用MSBuild的powershell脚本调用 不确定其相关性,但需要能够构建以下内容: asp.net 461 asp.net核心1.1和2.0程序集 迄今为止未成功的尝试: 您是否有意标记“asp.NETCore”?如果您使用的是asp.net core,则您已经有了一个项目系统,该系统可以基于msbuild值生成程序集信息文件,这些值可以通过命令行传递,也可以从项目文件中的日期和时间开始计算。它需要能够生成asp
- asp.net 461
- asp.net核心1.1和2.0程序集
- 您是否有意标记“asp.NETCore”?如果您使用的是asp.net core,则您已经有了一个项目系统,该系统可以基于msbuild值生成程序集信息文件,这些值可以通过命令行传递,也可以从项目文件中的日期和时间开始计算。它需要能够生成asp.net 461程序集以及asp.net-core 1.1和2.0。我以前从标题中编辑了asp.net-core,它也将删除标记。因此,您的asp.net core项目将已经支持-
将设置程序集版本,我建议您基于基于sdk的项目创建经典项目的“polyfill目标”。现在没有时间做,但可能在接下来的几天。我会表现得像,谢谢你。我已经在使用powershell调用msbuild/p:Version=1.2.3.4
,因此msbuild
工作正常。它解决了我的实际问题,但必须禁用t4模板的自动增量解决方案才能工作。如果知道一种无论从何处构建都有效的方法,那就太好了。。尽管如此,谢谢!您正在使用哪个MSBuild?位于С:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin?msbuild/p:Version=1.2.3.4
<#@ 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); #>
<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>