मैं Azure DevOps के माध्यम से एक डॉटनेट कोर एप्लिकेशन बनाने की कोशिश कर रहा हूं। मैं चाहता हूं कि मेरी असेंबली को बिल्ड नंबर के साथ संस्करणित किया जाए।

.csproj फ़ाइल में:

<PropertyGroup>
  <TargetFramework>netcoreapp2.2</TargetFramework>
  <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  <Version>0.0.1</Version>
</PropertyGroup>

यमल बिल्ड पाइपलाइन में शामिल हैं:

trigger:
  branches:
   include:
     - master

pool:
  name: 'Hosted Windows 2019 with VS2019'
  #vmImage: 'ubuntu-latest'

variables:
  buildConfiguration: 'Release'
  Version.Revision: $[counter(format('{0:yyyyMMdd}', pipeline.startTime), 0)]
  VersionMajor: 0
  VersionMinor: 1


name: '$(VersionMajor).$(VersionMinor).$(Date:yy)$(DayOfYear).$(Version.Revision)'

steps:
- task: DotNetCoreInstaller@0
  inputs:
    version: '2.2.300'

- script: dotnet build --configuration Release /p:Version=$(Build.BuildNumber)
  displayName: 'dotnet build $(buildConfiguration) $(Build.BuildNumber)'

Azure Devops बिल्ड लॉग में कमांड सही संस्करण लेने लगता है:

dotnet build --configuration Release /p:Version=0.1.19185.10

लेकिन जब मैं कलाकृतियों को डाउनलोड करता हूं और डीएलएस को सत्यापित करता हूं तब भी उनमें संस्करण संख्या 0.0.1 होती है

इस आदेश को स्थानीय रूप से निष्पादित करने से dll में संस्करण संख्या जुड़ जाती है। तो, संस्करण Azure DevOps के माध्यम से क्यों नहीं जोड़ा गया है?

4
jtourlamain 4 जुलाई 2019, 11:35

1 उत्तर

सबसे बढ़िया उत्तर

जब तक आप इसे अन्यथा न बताएं dotnet publish फाइलों को प्रकाशित करने से पहले एक पुनर्संकलन का कारण बन जाएगा, और इस प्रकार किसी भी चीज को अधिलेखित कर देगा जिसे आपने पहले dotnet build के साथ पूरा करने का प्रयास किया था। आप संकलन को दबाने के लिए --no-build ध्वज का उपयोग करते हैं। ध्यान दें कि --no-build --no-restore को भी सेट करेगा, इसलिए आपको dotnet restore को स्पष्ट रूप से कॉल करना होगा। आदेशों का एक विशिष्ट सेट (सामान्य चर के साथ जो आप Azure DevOps में देख सकते हैं) हो सकता है:

dotnet restore
dotnet build --configuration $(BuildConfiguration) --no-restore /p:Version=$(Build.BuildNumber)
dotnet publish --configuration $(BuildConfiguration) --no-build --output $(Build.ArtifactStagingdirectory)

देखिए अधिक विवरण के लिए या तो/" rel="noreferrer">यह ब्लॉग पोस्ट।

5
Graham Smith 4 जुलाई 2019, 14:59