在构建时设置.net核心库程序集/文件/ nuget包版本

Duy*_*Duy 6 .net build .net-core

我是在构建时设置我的.net核心库的汇编版本(以及文件版本和nuget包版本)的方法.我的库是使用最新的Visual Studio 2017 RC编写的,所以没有更多projects.json文件,TeamCity正在使用标准的PowerShell构建脚本来构建,dotnet restore dotnet build dotnet test当然也是dotnet pack.

一直在扫描网络寻找一个优雅的解决方案,但没有发现任何接近它的东西.所有我能找到的interweb是现在已经过时xprojprojects.json格式.

我很惊讶这些dotnet builddotnet pack命令不支持开箱即用.

谢谢 :)

dav*_*ben 5

如果其他人出现并需要这个,请将其添加到您的csproj:

<PropertyGroup>
    <Version>1.2.3.4</Version>
    <PackageId>$(AssemblyName)</PackageId>
    <Title>My Super Library</Title>
    <AssemblyTitle>$(AssemblyName)</AssemblyTitle>
    <Company>AwesomeCo, Inc.</Company>
    <Product>My Super Library</Product>
    <Copyright>Copyright © AwesomeCo, Inc. 2016-2017</Copyright>
    <Description>There can be only one.</Description>

    <GenerateAssemblyInfo>true</GenerateAssemblyInfo>
    <GenerateAssemblyTitleAttribute>true</GenerateAssemblyTitleAttribute>
    <GenerateAssemblyConfigurationAttribute>true</GenerateAssemblyConfigurationAttribute>
    <GenerateAssemblyCompanyAttribute>true</GenerateAssemblyCompanyAttribute>
    <GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>
    <GenerateAssemblyCopyrightAttribute>true</GenerateAssemblyCopyrightAttribute>
    <GenerateAssemblyVersionAttribute>true</GenerateAssemblyVersionAttribute>
    <GenerateAssemblyInformationalVersionAttribute>true</GenerateAssemblyInformationalVersionAttribute>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我们PackageId的项目名称显然相同,但您可以更改它.

您可以在csproj中硬编码$(版本),或者在发布/打包时将其发送到:

dotnet publish /property:Version=1.2.3.4
Run Code Online (Sandbox Code Playgroud)