我使用的是dotnet核心。这是一个CI过程,而不是本地构建。我想让devs为类似标题之类的东西创建AssemblyInfo.cs文件,但是我希望我的构建过程能够控制程序集的版本。
目前我使用的是"dotnet . /p:Version=1.2.3.4“命令,但是一旦出现AssemblyInfo.cs文件,这个版本号就会被取代,即使AssemblyInfo.cs没有指定任何版本属性。
从CLI控制版本的唯一方法是删除AssemblyInfo.cs文件。在构建之前不需要手动修改AssemblyInfo.cs文件,就可以做到这一点吗?
发布于 2017-07-03 13:32:27
该工具生成一个包含程序集属性的自定义.cs文件。编译器只允许只定义一个属性。通常您会完全关闭自动程序集信息生成,但是SDK使您能够单独控制每个属性的生成。
因此,如果编辑csproj文件以包含这些属性组(在<Project>元素中):
<PropertyGroup>
<!-- true is the default here -->
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
</PropertyGroup>这些属性不会在编译期间自动生成,您可以在自定义属性中定义它们。完整的列表是可在dotnet/sdk回购系统中获得。
https://stackoverflow.com/questions/44883918
复制相似问题