Part 2 - Create a Jenkins pipeline to deploy MSIX Desktop Apps: Packaging a Visual Studio solution

Published Feb 14 2022 06:38 AM 1,931 Views
Microsoft

 

In this second part, it is described how to setup Jenkins pipeline to package a Visual Studio solution with a Windows Forms application and a Windows Application Packaging Project to MSIX.

 

Parts:

  1. Setup the Jenkins environment: install Jenkins and the required tools.
  2. Packaging a Visual Studio solution: for applications that use Visual Studio IDE, like Windows Forms and WPF.
  3. Packaging a solution developed outside Visual Studio: for applications developed outside VS, i.e., i..., for Java GUI application.
  4. Packaging using the VB6RegistryTool: despite of the name, the tool can be used by any technology.

 

1. Visual Studio Solution

In this section it will be demonstrated how to create the Visual Studio solution with a Windows Forms application and the Windows Application Packaging Project project used to generate the MSIX file.

 

In case you prefer, you can skip this step, since the solution is already available on jenkins_msix repo.

 

Create the Windows Form application

On Visual Studio 2019, select Create a new project, select the Windows Forms app project template and click Next:

 

p2vs01.png

 

 

Provide the project name WinForms.App and click Next:

 

p2vs02.png

 

 

I am choosing the .NET 6.0 framework, but feel free to use any other version. Click on Create:

 

p2vs03.png

 

 

This is the WinForms project structure. I am using only a PictureBox and a button, but it could be an empty project, as the idea is just to show how to package a WinForm application:

 

p2vs04.png

 

 

Follows the code-behind:

 

namespace WinForms.App
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Close();
        }
    }
}

 

So far, the WinForm project is a .NET 6.0 application that depends of the .NET runtime available in the client machine. To remove this dependency, it is possible to publish the project as self-contained where the .NET runtime and runtime libraries are bundled together with the application and third-party assemblies.

 

Add the following lines to the SelfContained and RuntimeIdentifier to the WinForms.App project file:

 

   <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net6.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <UseWindowsForms>true</UseWindowsForms>
    <ImplicitUsings>enable</ImplicitUsings>
    
    <SelfContained>true</SelfContained>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    
  </PropertyGroup>

 

More details at: Trim self-contained deployments and executables

 

Build the application to ensure that no errors appear.

 

Create the the Windows Application Packaging project

 

The next step is adding the Windows Application Packaging Project to the solution.

 

Right-click on the solution, select Add and click on New Project...:

 

p2vs05.png

 

 

Select the Windows Application Packaging Project and click Next:

 

p2vs06.png

 

 

Provide the project name WinForms.Packaging and click Create:

 

p2vs07.png

 

 

The next step is to provide the target and minimum platform version supported by your application. I am selecting both versions to 19041 to keep it simple, as I need to install the same SDKs on my Jenkins server environment:

 

p2vs08.png

 

 

In the WinForms.Packaging project, right-click on Dependencies node and click Add Project Reference...:

 

p2vs09.png

 

 

Select the WinForms.App project and click on OK:

 

p2vs10.png

 

 

Observe that the WinForms.App project was added to the WinForms.Packaging project:

 

p2vs11.png

 

 

The Windows Application Packaging Project don't accept the target Any CPU. Therefore, we need to change the processor target to x86 or x64 for both projects.

 

Open Configuration Manager, change the Active solution platform to x86, change the WinForms.App and WinForms.Packaging projects to x86:

 

p2vs12.png

 

 

Build the application to ensure that no errors appear.

 

Build the application using MSBuild command line

Before creating a Jenkins pipeline, let's make sure that the MSBuild command line that will be used to build our application is working.

 

Open the Package Manager Console (you can press CTRL+Q and type package manager console):

 

p2vs13.png

 

 

Before running the following command, make sure to provide the MSBuild.exe PATH available in your environment:

 

&"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe" /p:AppxBundlePlatforms=X86 /p:AppxBundle=Never /p:UapAppxPackageBuildMode=Sideloading  /p:AppxPackageSigningEnabled=false

 

p2vs14.png

 

 

In my case, the msix package file was generated on:

 

C:\github\msixdemos\01_VisualStudio\WinForms.App\WinForms.Packaging\AppPackages\WinForms.Packaging_1.0.0.0_AnyCPU_Debug_Test

 

p2vs15.png

 

 

In the next section, it will demonstrate how to build a Jenkins Pipeline for this project.

 

2. Jenkins Pipeline

Pipeline is a series of tasks required to build, test, and deploy an application.

 

Create a new job

In the Jenkins Dashboard, click on the Create a job option:

 

p2pipeline01.png

 

 

Provide a name for the job, check the Pipeline type of job and click on OK to proceed.

 

p2pipeline02.png

 

 

In the pipeline configuration page, check the GitHub Project to specify that this is a GitHub project and provide a GitHub URL:

 

p2pipeline03.png

 

 

Scroll down under the Pipeline section and change the definition to Pipeline script from SCM:

 

p2pipeline04.png

 

 

Provide the Repository URL as well. Because this is a public project, we can skip the credentials:

 

p2pipeline05.png

 

 

Scroll-down to the Branches to build section, change the branch name to */main, the Jenkins script path to Jenkinsfile01 and click on Save:

 

p2pipeline06.png

 

 

Those actions were needed as we want to use the Jenkins pipeline file available in the main branch of the following repo:

 

p2pipeline07.png

 

 

Jenkins Pipeline File

In the previous section it was demonstrated how to setup the Jenkins pipeline to use a Jenkins script file available on our GitHub repository.

Follows the Jenkinsfile01 content:

 

pipeline {
  
  agent any

  environment {
    MSBUILD = "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Msbuild\\Current\\Bin\\MSBuild.exe"
    CONFIG = 'Release'
    PLATFORM = 'x86'
  }
  
  stages {
    
    stage('Update manifest version') {
      steps {
          powershell '''
            $manifest = "01_VisualStudio\\WinForms.App\\WinForms.Packaging\\Package.appxmanifest"     
            [xml]$xmlDoc = Get-Content $manifest
            $version = $xmlDoc.Package.Identity.Version
            $trimmedVersion = $version -replace '.[0-9]+$', '.'
            $xmlDoc.Package.Identity.Version = $trimmedVersion + ${env:BUILD_NUMBER}
            $xmlDoc.Save($manifest)
          '''
      }
    }
    
    stage('Build') {
      steps {
        bat "dotnet restore 01_VisualStudio\\WinForms.App\\WinForms.App\\WinForms.App.csproj"

        bat "\"${MSBUILD}\" 01_VisualStudio\\WinForms.App\\WinForms.app.sln /p:Configuration=${env.CONFIG} /p:AppxBundlePlatforms=${env.PLATFORM}  /p:AppxBundle=Never /p:UapAppxPackageBuildMode=Sideloading  /p:AppxPackageSigningEnabled=false"
        
      }
      post{
          always {
           archiveArtifacts artifacts: '**/*.msix', followSymlinks: false
          }
      }
    }
  }
}

 

The pipeline directive is the complete script from beginning to end.

 

The agent directive instructs Jenkins to allocate an executor and workspace for the entire Pipeline. In our case, we are justing saying it can run on any agent. For example, it could be specified that it could run in a Docker container or run on a specific node.

 

The environment directive specifies a sequence of key-value pairs which will be defined as environment variables for all steps, or stage-specific steps, depending on where the environment directive is located within the Pipeline.

 

In our case, it is defined the variables MSBUILD that contains the MSBUILD path, the CONFIG with the value Release and PLATFORM with the value x86. Those variables will be used in the command line used to build our application.

 

The stages block contains on or more stage block, and each stage is going to have one or more steps. In our case, we have only one stage named Build, that has two steps to restore the dotnet WinForms.App project and to build the solution.

The post section defines the additional step needed to keep the msix file artifact available in our build, as workspace is a temporary directory.

 

You can find more details about the Jenkins pipeline syntax in the post Getting started with Pipeline.

In addition, there is a great post about how to Creating a Jenkins pipeline for a .NET Core application.

 

Switch back to Jenkins, click on Dashboard and click on the Visual Studio Solution pipeline:

 

p2pipeline08.png

 

 

Click on Build Now to start the build:

 

p2pipeline09.png

 

 

The job starts by checking out the source code to next restore and build our solution as defined in the Jenkinsfile01.

 

p2pipeline10.png

 

 

After the build is done, the build icon will be green and the msix artifact will be available:

 

p2pipeline11.png

 

 

The next post demonstrate how to package an application that not uses the Visual Studio IDE, but that uses the Windows Application Packaging Project to generate the MSIX file.

%3CLINGO-SUB%20id%3D%22%5C%26quot%3Blingo-sub-3160427%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Ben-US%5C%26quot%3B%22%3ECreate%20a%20Jenkins%20pipeline%20to%20deploy%20MSIX%20Desktop%20Apps%20-%20Part%202%3A%20Packaging%20a%20Visual%20Studio%20solution%26lt%3B%5C%2Flingo-sub%26gt%3B%3CLINGO-BODY%20id%3D%22%5C%26quot%3Blingo-body-3160427%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Ben-US%5C%26quot%3B%22%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EIn%20this%20second%20part%2C%20it%20is%20described%20how%20to%20setup%20Jenkins%20pipeline%20to%20package%20a%20Visual%20Studio%20solution%20with%20a%20Windows%20Forms%20application%20and%20a%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%3EWindows%20Application%20Packaging%20Project%26lt%3B%5C%2FA%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bto%20MSIX.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CBLOCKQUOTE%20id%3D%22%5C%26quot%3Bpragma-line-7%5C%26quot%3B%22%3E%5Cn%3CP%3EParts%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3COL%20id%3D%22%5C%26quot%3Bpragma-line-9%5C%26quot%3B%22%20class%3D%22%5C%26quot%3B%5C%26quot%3B%22%3E%5Cn%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-9%5C%26quot%3B%22%3E%3CSTRONG%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fblogs%2Fblogworkflowpage%2Fblog-id%2FWindowsDevAppConsult%2Farticle-id%2F599%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3ESetup%20the%20Jenkins%20environment%26lt%3B%5C%2FA%26gt%3B%26lt%3B%5C%2FSTRONG%26gt%3B%3A%20install%20Jenkins%20and%20the%20required%20tools.%26lt%3B%5C%2FLI%26gt%3B%5Cn%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-10%5C%26quot%3B%22%3E%3CSTRONG%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fblogs%2Fblogworkflowpage%2Fblog-id%2FWindowsDevAppConsult%2Farticle-id%2F599%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%3CSTRONG%3EPackaging%20a%20Visual%20Studio%20solution%3A%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bfor%20applications%20that%20use%20Visual%20Studio%20IDE%2C%20like%20Windows%20Forms%20and%20WPF.%26lt%3B%5C%2FLI%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-11%5C%26quot%3B%22%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fwindows-dev-appconsult%2Fcreate-a-jenkins-pipeline-to-deploy-msix-desktop-apps-part-3%2Fba-p%2F3160430%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%3CSTRONG%3EPackaging%20a%20solution%20developed%20outside%20Visual%20Studio%3A%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bfor%20applications%20developed%20outside%20VS%2C%20i.e.%2C%20in%20others%20IDEs%20like%20Eclipse%20or%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EVisual%20Studio%20Code%26lt%3B%5C%2FSTRONG%26gt%3B%26lt%3B%5C%2FA%26gt%3B%2C%20for%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EJava%20GUI%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bapplication.%26lt%3B%5C%2FLI%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FA%3E%3C%2FLI%3E%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-12%5C%26quot%3B%22%3E%3CSTRONG%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fwindows-dev-appconsult%2Fcreate-a-jenkins-pipeline-to-deploy-desktop-apps-as-msix-part-4%2Fba-p%2F3161873%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EPackaging%20using%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3BVB6RegistryTool%26lt%3B%5C%2FA%26gt%3B%3A%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bdespite%20of%20the%20name%2C%20the%20tool%20can%20be%20used%20by%20any%20technology.%26lt%3B%5C%2FLI%26gt%3B%5Cn%26lt%3B%5C%2FOL%26gt%3B%5Cn%26lt%3B%5C%2FBLOCKQUOTE%26gt%3B%5Cn%3CH2%20id%3D%22%5C%26quot%3Btoc-hId-364086017%5C%26quot%3B%22%20id%3D%22toc-hId-364150556%22%20id%3D%22toc-hId-364150556%22%20id%3D%22toc-hId-364150556%22%3E%26nbsp%3B%26lt%3B%5C%2FH2%26gt%3B%5Cn%3C%2FH2%3E%3CH2%20id%3D%22%5C%26quot%3B1-visual-studio-solution%5C%26quot%3B%22%20id%3D%22%5C%26quot%3Btoc-hId--1443368446%5C%26quot%3B%22%20id%3D%22toc-hId--1443303907%22%20id%3D%22toc-hId--1443303907%22%20id%3D%22toc-hId--1443303907%22%3E%3CA%20id%3D%22%5C%26quot%3Bpragma-line-15%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%3E%26lt%3B%5C%2FA%26gt%3B1.%20Visual%20Studio%20Solution%26lt%3B%5C%2FH2%26gt%3B%5Cn%3CP%3EIn%20this%20section%20it%20will%20be%20demonstrated%20how%20to%20create%20the%20Visual%20Studio%20solution%20with%20a%20Windows%20Forms%20application%20and%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FA%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%3EWindows%20Application%20Packaging%20Project%26lt%3B%5C%2FA%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bproject%20used%20to%20generate%20the%20MSIX%20file.%26lt%3B%5C%2FP%26gt%3B%5Cn%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EIn%20case%20you%20prefer%2C%20you%20can%20skip%20this%20step%2C%20since%20the%20solution%20is%20already%20available%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FSPAN%3E%3C%2FA%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fgithub.com%2Fluishdemetrio%2Fjenkins_msix%2Ftree%2Fmain%2F01_VisualStudio%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%3Ejenkins_msix%26lt%3B%5C%2FA%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Brepo.%26lt%3B%5C%2FP%26gt%3B%5Cn%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CH3%20id%3D%22%5C%26quot%3Bcreate-the-windows-form-application%5C%26quot%3B%22%20id%3D%22%5C%26quot%3Btoc-hId--752806972%5C%26quot%3B%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%3E%3CA%20id%3D%22%5C%26quot%3Bpragma-line-21%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%3E%26lt%3B%5C%2FA%26gt%3BCreate%20the%20Windows%20Form%20application%26lt%3B%5C%2FH3%26gt%3B%5Cn%3CP%3EOn%20Visual%20Studio%202019%2C%20select%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ECreate%20a%20new%20project%26lt%3B%5C%2FSTRONG%26gt%3B%2C%20select%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWindows%20Forms%20app%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bproject%20template%20and%20click%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ENext%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347759i05F2B8D5355C4259%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs01.png%22%20alt%3D%22%5C%26quot%3Bp2vs01.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EProvide%20the%20project%20name%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWinForms.App%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%20click%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ENext%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347760iED975D2D9F838BCE%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs02.png%22%20alt%3D%22%5C%26quot%3Bp2vs02.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EI%20am%20choosing%20the%20.NET%206.0%20framework%2C%20but%20feel%20free%20to%20use%20any%20other%20version.%20Click%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ECreate%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347761i839B8BD5B7B8612C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs03.png%22%20alt%3D%22%5C%26quot%3Bp2vs03.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThis%20is%20the%20WinForms%20project%20structure.%20I%20am%20using%20only%20a%20PictureBox%20and%20a%20button%2C%20but%20it%20could%20be%20an%20empty%20project%2C%20as%20the%20idea%20is%20just%20to%20show%20how%20to%20package%20a%20WinForm%20application%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347762iE62B0BA75D832400%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs04.png%22%20alt%3D%22%5C%26quot%3Bp2vs04.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EFollows%20the%20code-behind%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3CPRE%3E%3CCODE%20id%3D%22%5C%26quot%3Bpragma-line-41%5C%26quot%3B%22%20class%3D%22%5C%26quot%3Blanguage-csharp%22%20hljs%3D%22%22%3E%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Enamespace%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-title%5C%26quot%3B%22%3EWinForms.App%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%7B%5Cn%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Epublic%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Epartial%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Eclass%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-title%5C%26quot%3B%22%3EForm1%26lt%3B%5C%2FSPAN%26gt%3B%20%3A%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-title%5C%26quot%3B%22%3EForm%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%7B%5Cn%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-function%5C%26quot%3B%22%3E%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Epublic%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-title%5C%26quot%3B%22%3EForm1%26lt%3B%5C%2FSPAN%26gt%3B()%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20InitializeComponent()%3B%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%5Cn%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-function%5C%26quot%3B%22%3E%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Eprivate%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Evoid%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-title%5C%26quot%3B%22%3Ebutton1_Click%26lt%3B%5C%2FSPAN%26gt%3B(%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-params%5C%26quot%3B%22%3E%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-keyword%5C%26quot%3B%22%3Eobject%26lt%3B%5C%2FSPAN%26gt%3B%20sender%2C%20EventArgs%20e%26lt%3B%5C%2FSPAN%26gt%3B)%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20Close()%3B%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%7D%5Cn%26lt%3B%5C%2FCODE%26gt%3B%26lt%3B%5C%2FPRE%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3ESo%20far%2C%20the%20WinForm%20project%20is%20a%20.NET%206.0%20application%20that%20depends%20of%20the%20.NET%20runtime%20available%20in%20the%20client%20machine.%20To%20remove%20this%20dependency%2C%20it%20is%20possible%20to%20publish%20the%20project%20as%20self-contained%20where%20the%20.NET%20runtime%20and%20runtime%20libraries%20are%20bundled%20together%20with%20the%20application%20and%20third-party%20assemblies.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EAdd%20the%20following%20lines%20to%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ESelfContained%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ERuntimeIdentifier%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bto%20the%20WinForms.App%20project%20file%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3CPRE%3E%3CCODE%20id%3D%22%5C%26quot%3Bpragma-line-63%5C%26quot%3B%22%20class%3D%22%5C%26quot%3Blanguage-csharp%22%20hljs%3D%22%22%3E%20%20%20%3CPROPERTYGROUP%3E%5Cn%20%20%20%20%3COUTPUTTYPE%3EWinExe%3C%2FOUTPUTTYPE%3E%5Cn%20%20%20%20%3CTARGETFRAMEWORK%3Enet6%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-number%5C%26quot%3B%22%3E.0%26lt%3B%5C%2FSPAN%26gt%3B-windows%3C%2FSPAN%3E%3C%2FTARGETFRAMEWORK%3E%5Cn%20%20%20%20%3CNULLABLE%3Eenable%3C%2FNULLABLE%3E%5Cn%20%20%20%20%3CUSEWINDOWSFORMS%3E%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-literal%5C%26quot%3B%22%3Etrue%26lt%3B%5C%2FSPAN%26gt%3B%3C%2FSPAN%3E%3C%2FUSEWINDOWSFORMS%3E%5Cn%20%20%20%20%3CIMPLICITUSINGS%3Eenable%3C%2FIMPLICITUSINGS%3E%5Cn%20%20%20%20%5Cn%20%20%20%20%3CSELFCONTAINED%3E%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-literal%5C%26quot%3B%22%3Etrue%26lt%3B%5C%2FSPAN%26gt%3B%3C%2FSPAN%3E%3C%2FSELFCONTAINED%3E%5Cn%20%20%20%20%3CRUNTIMEIDENTIFIER%3Ewin-x64%3C%2FRUNTIMEIDENTIFIER%3E%5Cn%20%20%20%20%5Cn%20%20%3C%2FPROPERTYGROUP%3E%5Cn%26lt%3B%5C%2FCODE%26gt%3B%26lt%3B%5C%2FPRE%26gt%3B%5Cn%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FP%3E%3CBLOCKQUOTE%20id%3D%22%5C%26quot%3Bpragma-line-77%5C%26quot%3B%22%3E%5Cn%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EMore%20details%20at%3A%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fcore%2Fdeploying%2Ftrimming%2Ftrim-self-contained%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%3ETrim%20self-contained%20deployments%20and%20executables%26lt%3B%5C%2FA%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%26lt%3B%5C%2FBLOCKQUOTE%26gt%3B%5Cn%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EBuild%20the%20application%20to%20ensure%20that%20no%20errors%20appear.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CH3%20id%3D%22%5C%26quot%3Bcreate-the-the-windows-application-packaging-project%5C%26quot%3B%22%20id%3D%22%5C%26quot%3Btoc-hId-1734705861%5C%26quot%3B%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%3E%3CA%20id%3D%22%5C%26quot%3Bpragma-line-81%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%3E%26lt%3B%5C%2FA%26gt%3BCreate%20the%20the%20Windows%20Application%20Packaging%20project%26lt%3B%5C%2FH3%26gt%3B%5Cn%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%20next%20step%20is%20adding%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FA%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%3EWindows%20Application%20Packaging%20Project%26lt%3B%5C%2FA%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bto%20the%20solution.%26lt%3B%5C%2FP%26gt%3B%5Cn%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3ERight-click%20on%20the%20solution%2C%20select%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EAdd%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%20click%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ENew%20Project...%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347763iC200ACF21DFF0010%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs05.png%22%20alt%3D%22%5C%26quot%3Bp2vs05.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3ESelect%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWindows%20Application%20Packaging%20Project%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%20click%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ENext%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347764i0A65E64B521B118B%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs06.png%22%20alt%3D%22%5C%26quot%3Bp2vs06.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EProvide%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Eproject%20name%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3BWinForms.Packaging%20and%20click%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ECreate%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347765i8AD00D2AD10E444B%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs07.png%22%20alt%3D%22%5C%26quot%3Bp2vs07.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%20next%20step%20is%20to%20provide%20the%20target%20and%20minimum%20platform%20version%20supported%20by%20your%20application.%20I%20am%20selecting%20both%20versions%20to%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3E19041%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bto%20keep%20it%20simple%2C%20as%20I%20need%20to%20install%20the%20same%20SDKs%20on%20my%20Jenkins%20server%20environment%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347766i8537AB652040866A%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs08.png%22%20alt%3D%22%5C%26quot%3Bp2vs08.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EIn%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWinForms.Packaging%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bproject%2C%20right-click%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EDependencies%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bnode%20and%20click%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EAdd%20Project%20Reference...%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347767i341D8C520D88D960%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs09.png%22%20alt%3D%22%5C%26quot%3Bp2vs09.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3ESelect%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWinForms.App%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bproject%20and%20click%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EOK%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347768i439D073AEED71E87%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs10.png%22%20alt%3D%22%5C%26quot%3Bp2vs10.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EObserve%20that%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWinForms.App%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bproject%20was%20added%20to%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWinForms.Packaging%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bproject%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347769iF107DC66791EB7C7%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs11.png%22%20alt%3D%22%5C%26quot%3Bp2vs11.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%20Windows%20Application%20Packaging%20Project%20don't%20accept%20the%20target%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EAny%20CPU%26lt%3B%5C%2FSTRONG%26gt%3B.%20Therefore%2C%20we%20need%20to%20change%20the%20processor%20target%20to%20x86%20or%20x64%20for%20both%20projects.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EOpen%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EConfiguration%20Manager%26lt%3B%5C%2FSTRONG%26gt%3B%2C%20change%20the%20Active%20solution%20platform%20to%20x86%2C%20change%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWinForms.App%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EWinForms.Packaging%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bprojects%20to%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Ex86%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347770i131AAF3A8F28A60D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs12.png%22%20alt%3D%22%5C%26quot%3Bp2vs12.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EBuild%20the%20application%20to%20ensure%20that%20no%20errors%20appear.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CH3%20id%3D%22%5C%26quot%3Bbuild-the-application-using-msbuild-command-line%5C%26quot%3B%22%20id%3D%22%5C%26quot%3Btoc-hId--72748602%5C%26quot%3B%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%3E%3CA%20id%3D%22%5C%26quot%3Bpragma-line-123%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%3E%26lt%3B%5C%2FA%26gt%3BBuild%20the%20application%20using%20MSBuild%20command%20line%26lt%3B%5C%2FH3%26gt%3B%5Cn%3CP%3EBefore%20creating%20a%20Jenkins%20pipeline%2C%20let's%20make%20sure%20that%20the%20MSBuild%20command%20line%20that%20will%20be%20used%20to%20build%20our%20application%20is%20working.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EOpen%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EPackage%20Manager%20Console%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B(you%20can%20press%20CTRL%2BQ%20and%20type%20package%20manager%20console)%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347771i30370431C781F0B3%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs13.png%22%20alt%3D%22%5C%26quot%3Bp2vs13.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EBefore%20running%20the%20following%20command%2C%20make%20sure%20to%20provide%20the%20MSBuild.exe%20PATH%20available%20in%20your%20environment%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3CPRE%3E%3CCODE%20id%3D%22%5C%26quot%3Bpragma-line-133%5C%26quot%3B%22%20class%3D%22%5C%26quot%3Blanguage-csharp%22%20hljs%3D%22%22%3E%26amp%3B%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C%22C%3A%5C%5CProgram%20Files%5C%5CMicrosoft%20Visual%20Studio%5C%5C2022%5C%5CEnterprise%5C%5CMSBuild%5C%5CCurrent%5C%5CBin%5C%5CMSBuild.exe%5C%22%26lt%3B%5C%2FSPAN%26gt%3B%20%2Fp%3AAppxBundlePlatforms%3DX86%20%2Fp%3AAppxBundle%3DNever%20%2Fp%3AUapAppxPackageBuildMode%3DSideloading%20%20%2Fp%3AAppxPackageSigningEnabled%3D%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-literal%5C%26quot%3B%22%3Efalse%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%26lt%3B%5C%2FCODE%26gt%3B%26lt%3B%5C%2FPRE%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347773i67EB43212C052C5F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs14.png%22%20alt%3D%22%5C%26quot%3Bp2vs14.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EIn%20my%20case%2C%20the%20msix%20package%20file%20was%20generated%20on%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EC%3A%5C%5Cgithub%5C%5Cmsixdemos%5C%5C01_VisualStudio%5C%5CWinForms.App%5C%5CWinForms.Packaging%5C%5CAppPackages%5C%5CWinForms.Packaging_1.0.0.0_AnyCPU_Debug_Test%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347772iA3FF06277C31E0DA%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2vs15.png%22%20alt%3D%22%5C%26quot%3Bp2vs15.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EIn%20the%20next%20section%2C%20it%20will%20demonstrate%20how%20to%20build%20a%20Jenkins%20Pipeline%20for%20this%20project.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CH2%20id%3D%22%5C%26quot%3B2-jenkins-pipeline%5C%26quot%3B%22%20id%3D%22%5C%26quot%3Btoc-hId--83251706%5C%26quot%3B%22%20id%3D%22toc-hId--1443303907%22%20id%3D%22toc-hId--1443303907%22%20id%3D%22toc-hId--1443303907%22%3E%3CA%20id%3D%22%5C%26quot%3Bpragma-line-148%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%3E%26lt%3B%5C%2FA%26gt%3B2.%20Jenkins%20Pipeline%26lt%3B%5C%2FH2%26gt%3B%5Cn%3CP%3EPipeline%20is%20a%20series%20of%20tasks%20required%20to%20build%2C%20test%2C%20and%20deploy%20an%20application.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CH3%20id%3D%22%5C%26quot%3Bcreate-a-new-job%5C%26quot%3B%22%20id%3D%22%5C%26quot%3Btoc-hId-607309768%5C%26quot%3B%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%3E%3CA%20id%3D%22%5C%26quot%3Bpragma-line-152%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%3E%26lt%3B%5C%2FA%26gt%3BCreate%20a%20new%20job%26lt%3B%5C%2FH3%26gt%3B%5Cn%3CP%3EIn%20the%20Jenkins%20Dashboard%2C%20click%20on%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ECreate%20a%20job%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Boption%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347774i130B68035F940F2A%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline01.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline01.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EProvide%20a%20name%20for%20the%20job%2C%20check%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EPipeline%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Btype%20of%20job%20and%20click%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EOK%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bto%20proceed.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347775iBA3ADB96C503D5C1%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline02.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline02.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EIn%20the%20pipeline%20configuration%20page%2C%20check%20the%20GitHub%20Project%20to%20specify%20that%20this%20is%20a%20GitHub%20project%20and%20provide%20a%20GitHub%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FA%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fgithub.com%2Fluishdemetrio%2Fjenkins_msix%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%3EURL%26lt%3B%5C%2FA%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347776iD9B7F091A16FA357%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline03.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline03.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EScroll%20down%20under%20the%20Pipeline%20section%20and%20change%20the%20definition%20to%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EPipeline%20script%20from%20SCM%3A%26lt%3B%5C%2FSTRONG%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347777i27FBF37722804499%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline04.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline04.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FSTRONG%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EProvide%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ERepository%20URL%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bas%20well.%20Because%20this%20is%20a%20public%20project%2C%20we%20can%20skip%20the%20credentials%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347778i1C3806926AC8807F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline05.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline05.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EScroll-down%20to%20the%20Branches%20to%20build%20section%2C%20change%20the%20branch%20name%20to%20*%3CSTRONG%3E%2Fmain%26lt%3B%5C%2FSTRONG%26gt%3B%2C%20the%20Jenkins%20script%20path%20to%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EJenkinsfile01%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%20click%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ESave%26lt%3B%5C%2FSTRONG%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347779i12404E16ED6799B9%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline06.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline06.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThose%20actions%20were%20needed%20as%20we%20want%20to%20use%20the%20Jenkins%20pipeline%20file%20available%20in%20the%20main%20branch%20of%20the%20following%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FA%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fgithub.com%2Fluishdemetrio%2Fjenkins_msix%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%3Erepo%26lt%3B%5C%2FA%26gt%3B%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347780i2702558F81766015%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline07.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline07.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CH3%20id%3D%22%5C%26quot%3Bjenkins-pipeline-file%5C%26quot%3B%22%20id%3D%22%5C%26quot%3Btoc-hId--1200144695%5C%26quot%3B%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%20id%3D%22toc-hId-1054712030%22%3E%3CA%20id%3D%22%5C%26quot%3Bpragma-line-183%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%3E%26lt%3B%5C%2FA%26gt%3BJenkins%20Pipeline%20File%26lt%3B%5C%2FH3%26gt%3B%5Cn%3CP%3EIn%20the%20previous%20section%20it%20was%20demonstrated%20how%20to%20setup%20the%20Jenkins%20pipeline%20to%20use%20a%20Jenkins%20script%20file%20available%20on%20our%20GitHub%20repository.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EFollows%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EJenkinsfile01%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bcontent%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3CPRE%3E%3CCODE%20id%3D%22%5C%26quot%3Bpragma-line-188%5C%26quot%3B%22%20class%3D%22%5C%26quot%3Blanguage-yaml%22%20hljs%3D%22%22%3E%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Epipeline%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%5Cn%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Eagent%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Eany%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%5Cn%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Eenvironment%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3EMSBUILD%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%3D%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C%22C%3A%5C%5C%5C%5CProgram%20Files%5C%5C%5C%5CMicrosoft%20Visual%20Studio%5C%5C%5C%5C2022%5C%5C%5C%5CCommunity%5C%5C%5C%5CMsbuild%5C%5C%5C%5CCurrent%5C%5C%5C%5CBin%5C%5C%5C%5CMSBuild.exe%5C%22%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3ECONFIG%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%3D%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'Release%5C'%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3EPLATFORM%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%3D%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'x86%5C'%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%5Cn%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Estages%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%5Cn%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Estage(%5C'Update%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Emanifest%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Eversion%5C')%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Esteps%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Epowershell%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'%5C'%26lt%3B%5C%2FSPAN%26gt%3B%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%24manifest%20%3D%20%5C%2201_VisualStudio%5C%5C%5C%5CWinForms.App%5C%5C%5C%5CWinForms.Packaging%5C%5C%5C%5CPackage.appxmanifest%5C%22%20%20%20%20%20%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5Bxml%5D%24xmlDoc%20%3D%20Get-Content%20%24manifest%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%24version%20%3D%20%24xmlDoc.Package.Identity.Version%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%24trimmedVersion%20%3D%20%24version%20-replace%20%5C'%26lt%3B%5C%2FSPAN%26gt%3B%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E.%5B0-9%5D%2B%24%5C'%2C%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'.%5C'%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%24xmlDoc.Package.Identity.Version%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%3D%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%24trimmedVersion%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%2B%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%24%7Benv%3ABUILD_NUMBER%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%24xmlDoc.Save(%24manifest)%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'%5C'%26lt%3B%5C%2FSPAN%26gt%3B%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%20%20%5Cn%20%20%20%20stage(%5C'%26lt%3B%5C%2FSPAN%26gt%3B%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3EBuild%5C')%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Esteps%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Ebat%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C%22dotnet%20restore%2001_VisualStudio%5C%5C%5C%5CWinForms.App%5C%5C%5C%5CWinForms.App%5C%5C%5C%5CWinForms.App.csproj%5C%22%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%5Cn%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Ebat%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C%22%5C%5C%5C%22%24%7BMSBUILD%7D%5C%5C%5C%22%2001_VisualStudio%5C%5C%5C%5CWinForms.App%5C%5C%5C%5CWinForms.app.sln%20%2Fp%3AConfiguration%3D%24%7Benv.CONFIG%7D%20%2Fp%3AAppxBundlePlatforms%3D%24%7Benv.PLATFORM%7D%20%20%2Fp%3AAppxBundle%3DNever%20%2Fp%3AUapAppxPackageBuildMode%3DSideloading%20%20%2Fp%3AAppxPackageSigningEnabled%3Dfalse%5C%22%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%5Cn%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Epost%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3Ealways%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7B%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3EarchiveArtifacts%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-attr%5C%26quot%3B%22%3Eartifacts%3A%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%5C'**%2F*.msix%5C'%26lt%3B%5C%2FSPAN%26gt%3B%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%2C%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-attr%5C%26quot%3B%22%3EfollowSymlinks%3A%26lt%3B%5C%2FSPAN%26gt%3B%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-literal%5C%26quot%3B%22%3Efalse%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%20%20%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%3CSPAN%20class%3D%22%5C%26quot%3Bhljs-string%5C%26quot%3B%22%3E%7D%26lt%3B%5C%2FSPAN%26gt%3B%5Cn%26lt%3B%5C%2FCODE%26gt%3B%26lt%3B%5C%2FPRE%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Epipeline%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bdirective%20is%20the%20complete%20script%20from%20beginning%20to%20end.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Eagent%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bdirective%20instructs%20Jenkins%20to%20allocate%20an%20executor%20and%20workspace%20for%20the%20entire%20Pipeline.%20In%20our%20case%2C%20we%20are%20justing%20saying%20it%20can%20run%20on%20any%20agent.%20For%20example%2C%20it%20could%20be%20specified%20that%20it%20could%20run%20in%20a%20Docker%20container%20or%20run%20on%20a%20specific%20node.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Eenvironment%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bdirective%20specifies%20a%20sequence%20of%20key-value%20pairs%20which%20will%20be%20defined%20as%20environment%20variables%20for%20all%20steps%2C%20or%20stage-specific%20steps%2C%20depending%20on%20where%20the%20environment%20directive%20is%20located%20within%20the%20Pipeline.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EIn%20our%20case%2C%20it%20is%20defined%20the%20variables%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EMSBUILD%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bthat%20contains%20the%20MSBUILD%20path%2C%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ECONFIG%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bwith%20the%20value%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3ERelease%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%20PLATFORM%20with%20the%20value%20x86.%20Those%20variables%20will%20be%20used%20in%20the%20command%20line%20used%20to%20build%20our%20application.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Estages%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bblock%20contains%20on%20or%20more%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Estage%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bblock%2C%20and%20each%20stage%20is%20going%20to%20have%20one%20or%20more%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Esteps%26lt%3B%5C%2FSTRONG%26gt%3B.%20In%20our%20case%2C%20we%20have%20only%20one%20stage%20named%20Build%2C%20that%20has%20two%20steps%20to%20restore%20the%20dotnet%20WinForms.App%20project%20and%20to%20build%20the%20solution.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThe%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3Epost%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bsection%20defines%20the%20additional%20step%20needed%20to%20keep%20the%20msix%20file%20artifact%20available%20in%20our%20build%2C%20as%20workspace%20is%20a%20temporary%20directory.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CBLOCKQUOTE%20id%3D%22%5C%26quot%3Bpragma-line-244%5C%26quot%3B%22%3E%5Cn%3CP%3EYou%20can%20find%20more%20details%20about%20the%20Jenkins%20pipeline%20syntax%20in%20the%20post%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fwww.jenkins.io%2Fdoc%2Fbook%2Fpipeline%2Fgetting-started%2F%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20nofollow%3D%22%22%20noreferrer%3D%22%22%3EGetting%20started%20with%20Pipeline%26lt%3B%5C%2FA%26gt%3B.%26lt%3B%5C%2FP%26gt%3B%5Cn%26lt%3B%5C%2FBLOCKQUOTE%26gt%3B%5Cn%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EIn%20addition%2C%20there%20is%20a%20great%20post%20about%20how%20to%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fmedium.com%2Fsouthworks%2Fcreating-a-jenkins-pipeline-for-a-net-core-application-937a2165b073%5C%26quot%3B%22%20target%3D%22%5C%26quot%3B_blank%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20nofollow%3D%22%22%20noreferrer%3D%22%22%3ECreating%20a%20Jenkins%20pipeline%20for%20a%20.NET%20Core%20application%26lt%3B%5C%2FA%26gt%3B.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3ESwitch%20back%20to%20Jenkins%2C%20click%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EDashboard%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Band%20click%20on%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EVisual%20Studio%20Solution%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bpipeline%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347781iDF8E828ED2B92F1F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline08.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline08.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EClick%20on%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EBuild%20Now%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bto%20start%20the%20build%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347782i6C4815EA459CA4FA%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline09.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline09.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%20job%20starts%20by%20checking%20out%20the%20source%20code%20to%20next%20restore%20and%20build%20our%20solution%20as%20defined%20in%20the%20%3CSTRONG%3EJenkinsfile01.%26lt%3B%5C%2FSTRONG%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347783i155823B7E298AD6F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline10.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline10.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EAfter%20the%20build%20is%20done%2C%20the%20build%20icon%20will%20be%20green%20and%20the%20msix%20artifact%20will%20be%20available%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347784i717901BE10EE1B56%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22p2pipeline11.png%22%20alt%3D%22%5C%26quot%3Bp2pipeline11.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CP%3EThe%20next%20post%20demonstrate%20how%20to%20package%20an%20application%20that%20not%20uses%20the%20Visual%20Studio%20IDE%2C%20but%20that%20uses%20the%20Windows%20Application%20Packaging%20Project%20to%20generate%20the%20MSIX%20file.%26lt%3B%5C%2FP%26gt%3B%26lt%3B%5C%2Flingo-body%26gt%3B%3CLINGO-TEASER%20id%3D%22%5C%26quot%3Blingo-teaser-3160427%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Ben-US%5C%26quot%3B%22%3E%3C%2FLINGO-TEASER%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%5C%26quot%3Blia-inline-image-display-wrapper%22%20lia-image-align-center%3D%22%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Fgxcuf89792%2F%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347758i8328EDB6649C5205%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%5C%26quot%3B%22%20role%3D%22%5C%26quot%3Bbutton%5C%26quot%3B%22%20title%3D%22logo.png%22%20alt%3D%22%5C%26quot%3Blogo.png%5C%26quot%3B%22%20%2F%3E%26lt%3B%5C%2Fspan%26gt%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EIn%20this%20second%20part%2C%20it%20is%20described%20how%20to%20setup%20Jenkins%20pipeline%20to%20package%20a%20Visual%20Studio%20solution%20with%20a%20Windows%20Forms%20application%20and%20a%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%20target%3D%22_blank%22%3EWindows%20Application%20Packaging%20Project%26lt%3B%5C%2FA%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bto%20MSIX.%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%5Cn%3C%2FP%3E%3CBLOCKQUOTE%20id%3D%22%5C%26quot%3Bpragma-line-7%5C%26quot%3B%22%3E%5Cn%3CP%3EParts%3A%26lt%3B%5C%2FP%26gt%3B%5Cn%3COL%20id%3D%22%5C%26quot%3Bpragma-line-9%5C%26quot%3B%22%20class%3D%22%5C%26quot%3B%5C%26quot%3B%22%3E%5Cn%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-9%5C%26quot%3B%22%3E%3CSTRONG%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fblogs%2Fblogworkflowpage%2Fblog-id%2FWindowsDevAppConsult%2Farticle-id%2F599%5C%26quot%3B%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3ESetup%20the%20Jenkins%20environment%26lt%3B%5C%2FA%26gt%3B%26lt%3B%5C%2FSTRONG%26gt%3B%3A%20install%20Jenkins%20and%20the%20required%20tools.%26lt%3B%5C%2FLI%26gt%3B%5Cn%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-10%5C%26quot%3B%22%3E%3CSTRONG%3E%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fblogs%2Fblogworkflowpage%2Fblog-id%2FWindowsDevAppConsult%2Farticle-id%2F599%5C%26quot%3B%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%3CSTRONG%3EPackaging%20a%20Visual%20Studio%20solution%3A%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bfor%20applications%20that%20use%20Visual%20Studio%20IDE%2C%20like%20Windows%20Forms%20and%20WPF.%26lt%3B%5C%2FLI%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-11%5C%26quot%3B%22%3E%3CSTRONG%3EPackaging%20a%20solution%20developed%20outside%20Visual%20Studio%3A%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bfor%20applications%20developed%20outside%20VS%2C%20i.e.%2C%20in%20others%20IDEs%20like%20Eclipse%20or%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EVisual%20Studio%20Code%26lt%3B%5C%2FSTRONG%26gt%3B%2C%20for%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CSTRONG%3EJava%20GUI%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bapplication.%26lt%3B%5C%2FLI%26gt%3B%5Cn%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%20id%3D%22%5C%26quot%3Bpragma-line-12%5C%26quot%3B%22%3E%3CSTRONG%3EPackaging%20using%20the%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3B%3CA%20href%3D%22%5C%26quot%3Bhttps%3A%2F%2Fgithub.com%2Fluishdemetrio%2FVb6VirtualRegistry%5C%26quot%3B%22%20rel%3D%22%5C%26quot%3Bnoopener%20nofollow%20noopener%20noreferrer%22%20noreferrer%3D%22%22%20target%3D%22_blank%22%3EVB6RegistryTool%26lt%3B%5C%2FA%26gt%3B%3A%26lt%3B%5C%2FSTRONG%26gt%3B%3CSPAN%3E%26nbsp%3B%26lt%3B%5C%2FSPAN%26gt%3Bdespite%20of%20the%20name%2C%20the%20tool%20can%20be%20used%20by%20any%20technology.%26lt%3B%5C%2FLI%26gt%3B%5Cn%26lt%3B%5C%2FOL%26gt%3B%5Cn%26lt%3B%5C%2FBLOCKQUOTE%26gt%3B%26lt%3B%5C%2Flingo-teaser%26gt%3B%3C%2FSPAN%3E%3C%2FA%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FOL%3E%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3C%2FBLOCKQUOTE%3E%3C%2FA%3E%3C%2FH3%3E%3C%2FA%3E%3C%2FH3%3E%3C%2FA%3E%3C%2FH2%3E%3C%2FA%3E%3C%2FH3%3E%3C%2FSPAN%3E%3C%2FA%3E%3C%2FH3%3E%3C%2FBLOCKQUOTE%3E%3C%2FA%3E%3C%2FH3%3E%3C%2FSPAN%3E%3C%2FA%3E%3C%2FH2%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FOL%3E%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3C%2FLINGO-BODY%3E%3C%2FLINGO-SUB%3E%3CLINGO-SUB%20id%3D%22lingo-sub-3160427%22%20slang%3D%22en-US%22%3ECreate%20a%20Jenkins%20pipeline%20to%20deploy%20MSIX%20Desktop%20Apps%20-%20Part%202%3A%20Packaging%20a%20Visual%20Studio%20solution%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3160427%22%20slang%3D%22en-US%22%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20this%20second%20part%2C%20it%20is%20described%20how%20to%20setup%20Jenkins%20pipeline%20to%20package%20a%20Visual%20Studio%20solution%20with%20a%20Windows%20Forms%20application%20and%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EWindows%20Application%20Packaging%20Project%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20MSIX.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CBLOCKQUOTE%20id%3D%22pragma-line-7%22%3E%0A%3CP%3EParts%3A%3C%2FP%3E%0A%3COL%20id%3D%22pragma-line-9%22%20class%3D%22%22%3E%0A%3CLI%20id%3D%22pragma-line-9%22%3E%3CSTRONG%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fblogs%2Fblogworkflowpage%2Fblog-id%2FWindowsDevAppConsult%2Farticle-id%2F599%22%20target%3D%22_blank%22%3ESetup%20the%20Jenkins%20environment%3C%2FA%3E%3C%2FSTRONG%3E%3A%20install%20Jenkins%20and%20the%20required%20tools.%3C%2FLI%3E%0A%3CLI%20id%3D%22pragma-line-10%22%3E%3CSTRONG%3EPackaging%20a%20Visual%20Studio%20solution%3A%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efor%20applications%20that%20use%20Visual%20Studio%20IDE%2C%20like%20Windows%20Forms%20and%20WPF.%3C%2FLI%3E%0A%3CLI%20id%3D%22pragma-line-11%22%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fwindows-dev-appconsult%2Fcreate-a-jenkins-pipeline-to-deploy-msix-desktop-apps-part-3%2Fba-p%2F3160430%22%20target%3D%22_blank%22%3E%3CSTRONG%3EPackaging%20a%20solution%20developed%20outside%20Visual%20Studio%3A%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efor%20applications%20developed%20outside%20VS%2C%20i.e.%2C%20in%20others%20IDEs%20like%20Eclipse%20or%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EVisual%20Studio%20Code%3C%2FSTRONG%3E%3C%2FA%3E%2C%20for%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EJava%20GUI%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eapplication.%3C%2FLI%3E%0A%3CLI%20id%3D%22pragma-line-12%22%3E%3CSTRONG%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fwindows-dev-appconsult%2Fcreate-a-jenkins-pipeline-to-deploy-desktop-apps-as-msix-part-4%2Fba-p%2F3161873%22%20target%3D%22_blank%22%3EPackaging%20using%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3EVB6RegistryTool%3C%2FA%3E%3A%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Edespite%20of%20the%20name%2C%20the%20tool%20can%20be%20used%20by%20any%20technology.%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3C%2FBLOCKQUOTE%3E%0A%3CH2%20id%3D%22toc-hId-364086017%22%20id%3D%22toc-hId-1044208926%22%3E%26nbsp%3B%3C%2FH2%3E%0A%3CH2%20id%3D%221-visual-studio-solution%22%20id%3D%22toc-hId--1443368446%22%20id%3D%22toc-hId--763245537%22%3E%3CA%20id%3D%22pragma-line-15%22%20target%3D%22_blank%22%3E%3C%2FA%3E1.%20Visual%20Studio%20Solution%3C%2FH2%3E%0A%3CP%3EIn%20this%20section%20it%20will%20be%20demonstrated%20how%20to%20create%20the%20Visual%20Studio%20solution%20with%20a%20Windows%20Forms%20application%20and%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EWindows%20Application%20Packaging%20Project%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eproject%20used%20to%20generate%20the%20MSIX%20file.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20case%20you%20prefer%2C%20you%20can%20skip%20this%20step%2C%20since%20the%20solution%20is%20already%20available%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fluishdemetrio%2Fjenkins_msix%2Ftree%2Fmain%2F01_VisualStudio%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ejenkins_msix%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Erepo.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20id%3D%22create-the-windows-form-application%22%20id%3D%22toc-hId--752806972%22%20id%3D%22toc-hId--72684063%22%3E%3CA%20id%3D%22pragma-line-21%22%20target%3D%22_blank%22%3E%3C%2FA%3ECreate%20the%20Windows%20Form%20application%3C%2FH3%3E%0A%3CP%3EOn%20Visual%20Studio%202019%2C%20select%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ECreate%20a%20new%20project%3C%2FSTRONG%3E%2C%20select%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWindows%20Forms%20app%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eproject%20template%20and%20click%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ENext%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs01.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347759i05F2B8D5355C4259%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs01.png%22%20alt%3D%22p2vs01.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EProvide%20the%20project%20name%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWinForms.App%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20click%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ENext%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs02.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347760iED975D2D9F838BCE%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs02.png%22%20alt%3D%22p2vs02.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20am%20choosing%20the%20.NET%206.0%20framework%2C%20but%20feel%20free%20to%20use%20any%20other%20version.%20Click%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ECreate%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs03.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347761i839B8BD5B7B8612C%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs03.png%22%20alt%3D%22p2vs03.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThis%20is%20the%20WinForms%20project%20structure.%20I%20am%20using%20only%20a%20PictureBox%20and%20a%20button%2C%20but%20it%20could%20be%20an%20empty%20project%2C%20as%20the%20idea%20is%20just%20to%20show%20how%20to%20package%20a%20WinForm%20application%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs04.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347762iE62B0BA75D832400%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs04.png%22%20alt%3D%22p2vs04.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EFollows%20the%20code-behind%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20id%3D%22pragma-line-41%22%20class%3D%22language-csharp%20hljs%22%3E%3CSPAN%20class%3D%22hljs-keyword%22%3Enamespace%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-title%22%3EWinForms.App%3C%2FSPAN%3E%0A%7B%0A%20%20%20%20%3CSPAN%20class%3D%22hljs-keyword%22%3Epublic%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-keyword%22%3Epartial%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-keyword%22%3Eclass%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-title%22%3EForm1%3C%2FSPAN%3E%20%3A%20%3CSPAN%20class%3D%22hljs-title%22%3EForm%3C%2FSPAN%3E%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-function%22%3E%3CSPAN%20class%3D%22hljs-keyword%22%3Epublic%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-title%22%3EForm1%3C%2FSPAN%3E()%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20InitializeComponent()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-function%22%3E%3CSPAN%20class%3D%22hljs-keyword%22%3Eprivate%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-keyword%22%3Evoid%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-title%22%3Ebutton1_Click%3C%2FSPAN%3E(%3CSPAN%20class%3D%22hljs-params%22%3E%3CSPAN%20class%3D%22hljs-keyword%22%3Eobject%3C%2FSPAN%3E%20sender%2C%20EventArgs%20e%3C%2FSPAN%3E)%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Close()%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%7D%0A%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESo%20far%2C%20the%20WinForm%20project%20is%20a%20.NET%206.0%20application%20that%20depends%20of%20the%20.NET%20runtime%20available%20in%20the%20client%20machine.%20To%20remove%20this%20dependency%2C%20it%20is%20possible%20to%20publish%20the%20project%20as%20self-contained%20where%20the%20.NET%20runtime%20and%20runtime%20libraries%20are%20bundled%20together%20with%20the%20application%20and%20third-party%20assemblies.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAdd%20the%20following%20lines%20to%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ESelfContained%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ERuntimeIdentifier%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20the%20WinForms.App%20project%20file%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20id%3D%22pragma-line-63%22%20class%3D%22language-csharp%20hljs%22%3E%20%20%20%3CPROPERTYGROUP%3E%0A%20%20%20%20%3COUTPUTTYPE%3EWinExe%3C%2FOUTPUTTYPE%3E%0A%20%20%20%20%3CTARGETFRAMEWORK%3Enet6%3CSPAN%20class%3D%22hljs-number%22%3E.0%3C%2FSPAN%3E-windows%3C%2FTARGETFRAMEWORK%3E%0A%20%20%20%20%3CNULLABLE%3Eenable%3C%2FNULLABLE%3E%0A%20%20%20%20%3CUSEWINDOWSFORMS%3E%3CSPAN%20class%3D%22hljs-literal%22%3Etrue%3C%2FSPAN%3E%3C%2FUSEWINDOWSFORMS%3E%0A%20%20%20%20%3CIMPLICITUSINGS%3Eenable%3C%2FIMPLICITUSINGS%3E%0A%20%20%20%20%0A%20%20%20%20%3CSELFCONTAINED%3E%3CSPAN%20class%3D%22hljs-literal%22%3Etrue%3C%2FSPAN%3E%3C%2FSELFCONTAINED%3E%0A%20%20%20%20%3CRUNTIMEIDENTIFIER%3Ewin-x64%3C%2FRUNTIMEIDENTIFIER%3E%0A%20%20%20%20%0A%20%20%3C%2FPROPERTYGROUP%3E%0A%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBLOCKQUOTE%20id%3D%22pragma-line-77%22%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EMore%20details%20at%3A%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fcore%2Fdeploying%2Ftrimming%2Ftrim-self-contained%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ETrim%20self-contained%20deployments%20and%20executables%3C%2FA%3E%3C%2FP%3E%0A%3C%2FBLOCKQUOTE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBuild%20the%20application%20to%20ensure%20that%20no%20errors%20appear.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20id%3D%22create-the-the-windows-application-packaging-project%22%20id%3D%22toc-hId-1734705861%22%20id%3D%22toc-hId--1880138526%22%3E%3CA%20id%3D%22pragma-line-81%22%20target%3D%22_blank%22%3E%3C%2FA%3ECreate%20the%20the%20Windows%20Application%20Packaging%20project%3C%2FH3%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20next%20step%20is%20adding%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EWindows%20Application%20Packaging%20Project%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20the%20solution.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ERight-click%20on%20the%20solution%2C%20select%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EAdd%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20click%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ENew%20Project...%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs05.png%22%20style%3D%22width%3A%20936px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347763iC200ACF21DFF0010%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs05.png%22%20alt%3D%22p2vs05.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESelect%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWindows%20Application%20Packaging%20Project%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20click%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ENext%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs06.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347764i0A65E64B521B118B%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs06.png%22%20alt%3D%22p2vs06.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EProvide%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Eproject%20name%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3EWinForms.Packaging%20and%20click%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ECreate%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs07.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347765i8AD00D2AD10E444B%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs07.png%22%20alt%3D%22p2vs07.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20next%20step%20is%20to%20provide%20the%20target%20and%20minimum%20platform%20version%20supported%20by%20your%20application.%20I%20am%20selecting%20both%20versions%20to%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3E19041%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20keep%20it%20simple%2C%20as%20I%20need%20to%20install%20the%20same%20SDKs%20on%20my%20Jenkins%20server%20environment%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs08.png%22%20style%3D%22width%3A%20609px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347766i8537AB652040866A%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs08.png%22%20alt%3D%22p2vs08.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWinForms.Packaging%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eproject%2C%20right-click%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EDependencies%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Enode%20and%20click%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EAdd%20Project%20Reference...%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs09.png%22%20style%3D%22width%3A%20529px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347767i341D8C520D88D960%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs09.png%22%20alt%3D%22p2vs09.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESelect%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWinForms.App%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eproject%20and%20click%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EOK%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs10.png%22%20style%3D%22width%3A%20786px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347768i439D073AEED71E87%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs10.png%22%20alt%3D%22p2vs10.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EObserve%20that%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWinForms.App%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eproject%20was%20added%20to%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWinForms.Packaging%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eproject%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs11.png%22%20style%3D%22width%3A%20323px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347769iF107DC66791EB7C7%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs11.png%22%20alt%3D%22p2vs11.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20Windows%20Application%20Packaging%20Project%20don't%20accept%20the%20target%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EAny%20CPU%3C%2FSTRONG%3E.%20Therefore%2C%20we%20need%20to%20change%20the%20processor%20target%20to%20x86%20or%20x64%20for%20both%20projects.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOpen%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EConfiguration%20Manager%3C%2FSTRONG%3E%2C%20change%20the%20Active%20solution%20platform%20to%20x86%2C%20change%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWinForms.App%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EWinForms.Packaging%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eprojects%20to%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Ex86%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs12.png%22%20style%3D%22width%3A%20702px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347770i131AAF3A8F28A60D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs12.png%22%20alt%3D%22p2vs12.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBuild%20the%20application%20to%20ensure%20that%20no%20errors%20appear.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20id%3D%22build-the-application-using-msbuild-command-line%22%20id%3D%22toc-hId--72748602%22%20id%3D%22toc-hId-607374307%22%3E%3CA%20id%3D%22pragma-line-123%22%20target%3D%22_blank%22%3E%3C%2FA%3EBuild%20the%20application%20using%20MSBuild%20command%20line%3C%2FH3%3E%0A%3CP%3EBefore%20creating%20a%20Jenkins%20pipeline%2C%20let's%20make%20sure%20that%20the%20MSBuild%20command%20line%20that%20will%20be%20used%20to%20build%20our%20application%20is%20working.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOpen%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EPackage%20Manager%20Console%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E(you%20can%20press%20CTRL%2BQ%20and%20type%20package%20manager%20console)%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs13.png%22%20style%3D%22width%3A%20747px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347771i30370431C781F0B3%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs13.png%22%20alt%3D%22p2vs13.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBefore%20running%20the%20following%20command%2C%20make%20sure%20to%20provide%20the%20MSBuild.exe%20PATH%20available%20in%20your%20environment%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20id%3D%22pragma-line-133%22%20class%3D%22language-csharp%20hljs%22%3E%26amp%3B%3CSPAN%20class%3D%22hljs-string%22%3E%22C%3A%5CProgram%20Files%5CMicrosoft%20Visual%20Studio%5C2022%5CEnterprise%5CMSBuild%5CCurrent%5CBin%5CMSBuild.exe%22%3C%2FSPAN%3E%20%2Fp%3AAppxBundlePlatforms%3DX86%20%2Fp%3AAppxBundle%3DNever%20%2Fp%3AUapAppxPackageBuildMode%3DSideloading%20%20%2Fp%3AAppxPackageSigningEnabled%3D%3CSPAN%20class%3D%22hljs-literal%22%3Efalse%3C%2FSPAN%3E%0A%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs14.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347773i67EB43212C052C5F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs14.png%22%20alt%3D%22p2vs14.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20my%20case%2C%20the%20msix%20package%20file%20was%20generated%20on%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EC%3A%5Cgithub%5Cmsixdemos%5C01_VisualStudio%5CWinForms.App%5CWinForms.Packaging%5CAppPackages%5CWinForms.Packaging_1.0.0.0_AnyCPU_Debug_Test%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2vs15.png%22%20style%3D%22width%3A%20769px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347772iA3FF06277C31E0DA%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2vs15.png%22%20alt%3D%22p2vs15.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20the%20next%20section%2C%20it%20will%20demonstrate%20how%20to%20build%20a%20Jenkins%20Pipeline%20for%20this%20project.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%222-jenkins-pipeline%22%20id%3D%22toc-hId--83251706%22%20id%3D%22toc-hId-596871203%22%3E%3CA%20id%3D%22pragma-line-148%22%20target%3D%22_blank%22%3E%3C%2FA%3E2.%20Jenkins%20Pipeline%3C%2FH2%3E%0A%3CP%3EPipeline%20is%20a%20series%20of%20tasks%20required%20to%20build%2C%20test%2C%20and%20deploy%20an%20application.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20id%3D%22create-a-new-job%22%20id%3D%22toc-hId-607309768%22%20id%3D%22toc-hId-1287432677%22%3E%3CA%20id%3D%22pragma-line-152%22%20target%3D%22_blank%22%3E%3C%2FA%3ECreate%20a%20new%20job%3C%2FH3%3E%0A%3CP%3EIn%20the%20Jenkins%20Dashboard%2C%20click%20on%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ECreate%20a%20job%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eoption%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline01.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347774i130B68035F940F2A%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline01.png%22%20alt%3D%22p2pipeline01.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EProvide%20a%20name%20for%20the%20job%2C%20check%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EPipeline%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Etype%20of%20job%20and%20click%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EOK%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20proceed.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline02.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347775iBA3ADB96C503D5C1%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline02.png%22%20alt%3D%22p2pipeline02.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20the%20pipeline%20configuration%20page%2C%20check%20the%20GitHub%20Project%20to%20specify%20that%20this%20is%20a%20GitHub%20project%20and%20provide%20a%20GitHub%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fluishdemetrio%2Fjenkins_msix%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EURL%3C%2FA%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline03.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347776iD9B7F091A16FA357%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline03.png%22%20alt%3D%22p2pipeline03.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EScroll%20down%20under%20the%20Pipeline%20section%20and%20change%20the%20definition%20to%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EPipeline%20script%20from%20SCM%3A%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline04.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347777i27FBF37722804499%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline04.png%22%20alt%3D%22p2pipeline04.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EProvide%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ERepository%20URL%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eas%20well.%20Because%20this%20is%20a%20public%20project%2C%20we%20can%20skip%20the%20credentials%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline05.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347778i1C3806926AC8807F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline05.png%22%20alt%3D%22p2pipeline05.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EScroll-down%20to%20the%20Branches%20to%20build%20section%2C%20change%20the%20branch%20name%20to%20*%3CSTRONG%3E%2Fmain%3C%2FSTRONG%3E%2C%20the%20Jenkins%20script%20path%20to%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EJenkinsfile01%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20click%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ESave%3C%2FSTRONG%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline06.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347779i12404E16ED6799B9%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline06.png%22%20alt%3D%22p2pipeline06.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThose%20actions%20were%20needed%20as%20we%20want%20to%20use%20the%20Jenkins%20pipeline%20file%20available%20in%20the%20main%20branch%20of%20the%20following%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fluishdemetrio%2Fjenkins_msix%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Erepo%3C%2FA%3E%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline07.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347780i2702558F81766015%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline07.png%22%20alt%3D%22p2pipeline07.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20id%3D%22jenkins-pipeline-file%22%20id%3D%22toc-hId--1200144695%22%20id%3D%22toc-hId--520021786%22%3E%3CA%20id%3D%22pragma-line-183%22%20target%3D%22_blank%22%3E%3C%2FA%3EJenkins%20Pipeline%20File%3C%2FH3%3E%0A%3CP%3EIn%20the%20previous%20section%20it%20was%20demonstrated%20how%20to%20setup%20the%20Jenkins%20pipeline%20to%20use%20a%20Jenkins%20script%20file%20available%20on%20our%20GitHub%20repository.%3C%2FP%3E%0A%3CP%3EFollows%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EJenkinsfile01%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Econtent%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20id%3D%22pragma-line-188%22%20class%3D%22language-yaml%20hljs%22%3E%3CSPAN%20class%3D%22hljs-string%22%3Epipeline%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%0A%20%20%3CSPAN%20class%3D%22hljs-string%22%3Eagent%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3Eany%3C%2FSPAN%3E%0A%0A%20%20%3CSPAN%20class%3D%22hljs-string%22%3Eenvironment%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3EMSBUILD%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%22C%3A%5C%5CProgram%20Files%5C%5CMicrosoft%20Visual%20Studio%5C%5C2022%5C%5CCommunity%5C%5CMsbuild%5C%5CCurrent%5C%5CBin%5C%5CMSBuild.exe%22%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3ECONFIG%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E'Release'%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3EPLATFORM%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E'x86'%3C%2FSPAN%3E%0A%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%7D%3C%2FSPAN%3E%0A%20%20%0A%20%20%3CSPAN%20class%3D%22hljs-string%22%3Estages%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%0A%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Estage('Update%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3Emanifest%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3Eversion')%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Esteps%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Epowershell%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E''%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-string%22%3E'%0A%20%20%20%20%20%20%20%20%20%20%20%20%24manifest%20%3D%20%2201_VisualStudio%5C%5CWinForms.App%5C%5CWinForms.Packaging%5C%5CPackage.appxmanifest%22%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%5Bxml%5D%24xmlDoc%20%3D%20Get-Content%20%24manifest%0A%20%20%20%20%20%20%20%20%20%20%20%20%24version%20%3D%20%24xmlDoc.Package.Identity.Version%0A%20%20%20%20%20%20%20%20%20%20%20%20%24trimmedVersion%20%3D%20%24version%20-replace%20'%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-string%22%3E.%5B0-9%5D%2B%24'%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E'.'%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%24xmlDoc.Package.Identity.Version%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%24trimmedVersion%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%2B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%24%7Benv%3ABUILD_NUMBER%7D%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%24xmlDoc.Save(%24manifest)%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3E''%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-string%22%3E'%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20stage('%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-string%22%3EBuild')%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Esteps%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Ebat%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%22dotnet%20restore%2001_VisualStudio%5C%5CWinForms.App%5C%5CWinForms.App%5C%5CWinForms.App.csproj%22%3C%2FSPAN%3E%0A%0A%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Ebat%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%22%5C%22%24%7BMSBUILD%7D%5C%22%2001_VisualStudio%5C%5CWinForms.App%5C%5CWinForms.app.sln%20%2Fp%3AConfiguration%3D%24%7Benv.CONFIG%7D%20%2Fp%3AAppxBundlePlatforms%3D%24%7Benv.PLATFORM%7D%20%20%2Fp%3AAppxBundle%3DNever%20%2Fp%3AUapAppxPackageBuildMode%3DSideloading%20%20%2Fp%3AAppxPackageSigningEnabled%3Dfalse%22%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%7D%3C%2FSPAN%3E%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Epost%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3Ealways%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3EarchiveArtifacts%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-attr%22%3Eartifacts%3A%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-string%22%3E'**%2F*.msix'%3C%2FSPAN%3E%3CSPAN%20class%3D%22hljs-string%22%3E%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-attr%22%3EfollowSymlinks%3A%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22hljs-literal%22%3Efalse%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%7D%3C%2FSPAN%3E%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%7D%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%7D%3C%2FSPAN%3E%0A%20%20%3CSPAN%20class%3D%22hljs-string%22%3E%7D%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22hljs-string%22%3E%7D%3C%2FSPAN%3E%0A%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Epipeline%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Edirective%20is%20the%20complete%20script%20from%20beginning%20to%20end.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Eagent%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Edirective%20instructs%20Jenkins%20to%20allocate%20an%20executor%20and%20workspace%20for%20the%20entire%20Pipeline.%20In%20our%20case%2C%20we%20are%20justing%20saying%20it%20can%20run%20on%20any%20agent.%20For%20example%2C%20it%20could%20be%20specified%20that%20it%20could%20run%20in%20a%20Docker%20container%20or%20run%20on%20a%20specific%20node.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Eenvironment%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Edirective%20specifies%20a%20sequence%20of%20key-value%20pairs%20which%20will%20be%20defined%20as%20environment%20variables%20for%20all%20steps%2C%20or%20stage-specific%20steps%2C%20depending%20on%20where%20the%20environment%20directive%20is%20located%20within%20the%20Pipeline.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20our%20case%2C%20it%20is%20defined%20the%20variables%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EMSBUILD%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ethat%20contains%20the%20MSBUILD%20path%2C%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ECONFIG%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ewith%20the%20value%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3ERelease%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20PLATFORM%20with%20the%20value%20x86.%20Those%20variables%20will%20be%20used%20in%20the%20command%20line%20used%20to%20build%20our%20application.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Estages%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eblock%20contains%20on%20or%20more%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Estage%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eblock%2C%20and%20each%20stage%20is%20going%20to%20have%20one%20or%20more%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Esteps%3C%2FSTRONG%3E.%20In%20our%20case%2C%20we%20have%20only%20one%20stage%20named%20Build%2C%20that%20has%20two%20steps%20to%20restore%20the%20dotnet%20WinForms.App%20project%20and%20to%20build%20the%20solution.%3C%2FP%3E%0A%3CP%3EThe%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Epost%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Esection%20defines%20the%20additional%20step%20needed%20to%20keep%20the%20msix%20file%20artifact%20available%20in%20our%20build%2C%20as%20workspace%20is%20a%20temporary%20directory.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CBLOCKQUOTE%20id%3D%22pragma-line-244%22%3E%0A%3CP%3EYou%20can%20find%20more%20details%20about%20the%20Jenkins%20pipeline%20syntax%20in%20the%20post%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fwww.jenkins.io%2Fdoc%2Fbook%2Fpipeline%2Fgetting-started%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EGetting%20started%20with%20Pipeline%3C%2FA%3E.%3C%2FP%3E%0A%3C%2FBLOCKQUOTE%3E%0A%3CP%3EIn%20addition%2C%20there%20is%20a%20great%20post%20about%20how%20to%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fmedium.com%2Fsouthworks%2Fcreating-a-jenkins-pipeline-for-a-net-core-application-937a2165b073%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3ECreating%20a%20Jenkins%20pipeline%20for%20a%20.NET%20Core%20application%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESwitch%20back%20to%20Jenkins%2C%20click%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EDashboard%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20click%20on%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EVisual%20Studio%20Solution%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Epipeline%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline08.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347781iDF8E828ED2B92F1F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline08.png%22%20alt%3D%22p2pipeline08.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EClick%20on%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EBuild%20Now%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20start%20the%20build%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline09.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347782i6C4815EA459CA4FA%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline09.png%22%20alt%3D%22p2pipeline09.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20job%20starts%20by%20checking%20out%20the%20source%20code%20to%20next%20restore%20and%20build%20our%20solution%20as%20defined%20in%20the%20%3CSTRONG%3EJenkinsfile01.%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline10.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347783i155823B7E298AD6F%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline10.png%22%20alt%3D%22p2pipeline10.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAfter%20the%20build%20is%20done%2C%20the%20build%20icon%20will%20be%20green%20and%20the%20msix%20artifact%20will%20be%20available%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22p2pipeline11.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347784i717901BE10EE1B56%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22p2pipeline11.png%22%20alt%3D%22p2pipeline11.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20next%20post%20demonstrate%20how%20to%20package%20an%20application%20that%20not%20uses%20the%20Visual%20Studio%20IDE%2C%20but%20that%20uses%20the%20Windows%20Application%20Packaging%20Project%20to%20generate%20the%20MSIX%20file.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-3160427%22%20slang%3D%22en-US%22%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22logo.png%22%20style%3D%22width%3A%20516px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F347758i8328EDB6649C5205%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22logo.png%22%20alt%3D%22logo.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EIn%20this%20second%20part%2C%20it%20is%20described%20how%20to%20setup%20Jenkins%20pipeline%20to%20package%20a%20Visual%20Studio%20solution%20with%20a%20Windows%20Forms%20application%20and%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fwindows%2Fmsix%2Fdesktop%2Fdesktop-to-uwp-packaging-dot-net%22%20rel%3D%22noopener%20noreferrer%22%20target%3D%22_blank%22%3EWindows%20Application%20Packaging%20Project%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20MSIX.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CBLOCKQUOTE%20id%3D%22pragma-line-7%22%3E%0A%3CP%3EParts%3A%3C%2FP%3E%0A%3COL%20id%3D%22pragma-line-9%22%20class%3D%22%22%3E%0A%3CLI%20id%3D%22pragma-line-9%22%3E%3CSTRONG%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fblogs%2Fblogworkflowpage%2Fblog-id%2FWindowsDevAppConsult%2Farticle-id%2F599%22%20target%3D%22_blank%22%3ESetup%20the%20Jenkins%20environment%3C%2FA%3E%3C%2FSTRONG%3E%3A%20install%20Jenkins%20and%20the%20required%20tools.%3C%2FLI%3E%0A%3CLI%20id%3D%22pragma-line-10%22%3E%3CSTRONG%3EPackaging%20a%20Visual%20Studio%20solution%3A%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efor%20applications%20that%20use%20Visual%20Studio%20IDE%2C%20like%20Windows%20Forms%20and%20WPF.%3C%2FLI%3E%0A%3CLI%20id%3D%22pragma-line-11%22%3E%3CSTRONG%3EPackaging%20a%20solution%20developed%20outside%20Visual%20Studio%3A%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efor%20applications%20developed%20outside%20VS%2C%20i.e.%2C%20in%20others%20IDEs%20like%20Eclipse%20or%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EVisual%20Studio%20Code%3C%2FSTRONG%3E%2C%20for%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EJava%20GUI%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eapplication.%3C%2FLI%3E%0A%3CLI%20id%3D%22pragma-line-12%22%3E%3CSTRONG%3EPackaging%20using%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fluishdemetrio%2FVb6VirtualRegistry%22%20rel%3D%22noopener%20noreferrer%22%20target%3D%22_blank%22%3EVB6RegistryTool%3C%2FA%3E%3A%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Edespite%20of%20the%20name%2C%20the%20tool%20can%20be%20used%20by%20any%20technology.%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3C%2FBLOCKQUOTE%3E%3C%2FLINGO-TEASER%3E
Co-Authors
Version history
Last update:
‎Feb 14 2022 06:41 AM
Updated by: