2017-02-17 15 views
3

Я собираюсь установить версию сборки основной библиотеки .net (и версию файла и версию пакета nuget) в момент сборки. Моя библиотека написана с использованием последней версии Visual Studio 2017 RC, поэтому не более projects.json файл и строится TeamCity со стандартным сценарием powershell, который вызывает dotnet restoredotnet builddotnet test и, конечно, dotnet pack.Установка сборника основной библиотеки .net/версия файла/пакета nuget во время сборки

Просматривает веб-сайт для элегантного решения, но не нашел ничего даже близко к нему. Все, что я мог найти на interweb, - это теперь устаревший формат xproj и projects.json.

Я очень удивлен, что команды dotnet build и dotnet pack не поддерживают это из коробки.

Спасибо :)

ответ

3

В случае, если кто-то приходит и нуждается в этом, добавьте это к вашему 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> 

Наша PackageId, очевидно, так же, как наши имена проектов, но вы можете изменить его.

Вы можете жестко закодировать $ (Version) здесь, в вашем csproj, или отправить его в том, когда вы публикуете/пакет:

dotnet publish /property:Version=1.2.3.4 
+0

спасибо, я в конечном итоге делает то же самое, и она работала даже без добавления дополнительные теги в файле 'csproj'. В основном, я устанавливаю сборку и версию файла, выполняя 'dotnet build/p: Version = 1.2.3' и' dotnet publish/p: Version = 1.2.3' – Duy

 Смежные вопросы

  • Нет связанных вопросов^_^