Övning – Referera till paketet från programmet
I den här lektionen får du den nya Tailspin.SpaceGame.Web-koden som har modellklasserna borttagna. I stället för att referera direkt till modellerna refererar koden till dem från paketet du skapade i föregående lektion.
Här är en lista över stegen:
- Hämta den nya koden från en gren av den ursprungliga Tailspin.SpaceGame.Web-lagringsplatsen.
- Referera till den nya versionen av modellpaketet (version 1.0.0).
- Om du vill söka efter det här paketet i Azure Artifacts-flödet ändrar du bygg-pipelinen.
- Se hur pipelinen har skapat appen.
Hämta grenen från GitHub
Hämta grenen models-package
från GitHub och checka ut eller växla till den grenen.
Den här grenen innehåller projektet Space Game som du arbetade med i tidigare moduler, men katalogen Models (Modeller) har tagits bort.
Växla till din kopia av Visual Studio Code som visar projektet Tailspin.SpaceGame.Web .
Kör följande
git
kommandon för att hämta en gren med namnetmodels-package
från Microsoft-lagringsplatsen från terminalen. Växla sedan till den grenen.git fetch upstream models-package git checkout -B models-package upstream/models-package
Med formatet för dessa kommandon kan du hämta startkod från Microsoft-lagringsplatsen på GitHub, som
upstream
kallas . Snart kommer du att push-överföra grenen till din GitHub-lagringsplats med namnetorigin
.Om du vill kan du kontrollera att katalogen Models inte längre finns i Utforskaren. I stället bör du ha kontrollanter, vyer och andra kataloger.
Referera till paketet Models (Modeller)
Öppna filen Tailspin.SpaceGame.Web.csproj och lägg till följande
ItemGroup
:<ItemGroup> <PackageReference Include="Tailspin.SpaceGame.Web.Models" Version="1.0.0" /> </ItemGroup>
Se till att placera inuti
ItemGroup
Project
noden. Filen bör likna detta:<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <ProjectGuid>{A0C4E31E-AC75-4F39-9F59-0AA19D9B8F46}</ProjectGuid> </PropertyGroup> <ItemGroup> <PackageReference Include="Tailspin.SpaceGame.Web.Models" Version="1.0.0" /> </ItemGroup> <ItemGroup> <Folder Include="wwwroot\images\avatars\" /> </ItemGroup> </Project>
Ändra versionen, "1.0.0", så att den innehåller pre-release-prefixet som genererades under byggprocessen. Här är ett exempel:
<PackageReference Include="Tailspin.SpaceGame.Web.Models" Version="1.0.0-CI-20200610-165738" />
Detta refererar till paketet Tailspin.SpaceGame.Web.Models som du skapade i Azure Artifacts. Observera versionsnumret, 1.0.0, plus förhandsversionssuffixet. Detta matchar den första versionen som du publicerade till Azure Artifacts i föregående lektion.
Spara filen.
Kommentar
När du sparar filen kan Visual Studio Code be dig att återställa beroenden. Välj knappen Återställ för att återställa beroendena.
Ändra pipelinekonfigurationen
Grenen models-package
innehåller en första azure-pipelines.yml-fil . Här ändrar du pipelinekonfigurationen för att hämta paketet Tailspin.SpaceGame.Web.Models från Azure Artifacts.
Öppna azure-pipelines.yml från Visual Studio Code.
Ändra azure-pipelines.yml enligt följande:
trigger: - '*' pool: vmImage: 'ubuntu-20.04' demands: - npm variables: buildConfiguration: 'Release' wwwrootDir: 'Tailspin.SpaceGame.Web/wwwroot' dotnetSdkVersion: '6.x' steps: - task: UseDotNet@2 displayName: 'Use .NET SDK $(dotnetSdkVersion)' inputs: version: '$(dotnetSdkVersion)' - task: NuGetToolInstaller@0 inputs: versionSpec: '5.9.1' - task: Npm@1 displayName: 'Run npm install' inputs: verbose: false - script: './node_modules/.bin/node-sass $(wwwrootDir) --output $(wwwrootDir)' displayName: 'Compile Sass assets' - task: gulp@1 displayName: 'Run gulp tasks' - script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt' displayName: 'Write build info' workingDirectory: $(wwwrootDir) - task: NuGetCommand@2 displayName: 'Restore project dependencies' inputs: command: 'restore' restoreSolution: '**/*.sln' feedsToUse: 'select' vstsFeed: '$(System.TeamProject)/Tailspin.SpaceGame.Web.Models' - task: DotNetCoreCLI@2 displayName: 'Build the project - $(buildConfiguration)' inputs: command: 'build' arguments: '--no-restore --configuration $(buildConfiguration)' projects: '**/*.csproj' - task: DotNetCoreCLI@2 displayName: 'Publish the project - $(buildConfiguration)' inputs: command: 'publish' projects: '**/*.csproj' publishWebProjects: false arguments: '--no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/$(buildConfiguration)' zipAfterPublish: true - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: drop' condition: succeeded()
Den markerade koden visar var pipelinen återställer beroenden och letar i Azure Artifacts-feeden efter de beroenden som kan finnas där.
Mellanlagra, checka in och push-överför dina ändringar till GitHub.
git add . git commit -m "Add reference to Models package" git push origin models-package
Gå till Azure Pipelines och titta på byggkörningen. Bygget hämtar paketet Models (Modeller) från Azure Artifacts och bygger projektet.