diff --git a/BuildAndTest.proj b/BuildAndTest.proj
deleted file mode 100755
index f75f1c3a2..000000000
--- a/BuildAndTest.proj
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
- Debug
- $(MSBuildThisFileDirectory)bin\$(Configuration)\
- $(MSBuildThisFileDirectory)src\
- $(MSBuildThisFileDirectory)tools\
-
-
- Build;Test
- Build
-
-
-
-
- Configuration=$(Configuration)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 4b44d099d..1d0531051 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -5,10 +5,21 @@ jobs:
- job: Debug
pool: 'Hosted Windows 2019 with VS2019'
steps:
+ - task: NuGetCommand@2
+ inputs:
+ command: 'restore'
+ feedsToUse: 'config'
+ nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config'
- task: MSBuild@1
inputs:
- solution: 'BuildAndTest.proj'
+ solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
configuration: 'Debug'
+ - task: VSTest@2
+ inputs:
+ testAssemblyVer2: |
+ $(Build.SourcesDirectory)\bin\Debug\MICoreUnitTests.dll
+ $(Build.SourcesDirectory)\bin\Debug\JDbgUnitTests.dll
+ $(Build.SourcesDirectory)\bin\Debug\SSHDebugTests.dll
- task: PublishTestResults@2
inputs:
testResultsFormat: 'xUnit'
@@ -19,10 +30,21 @@ jobs:
- job: Release
pool: 'Hosted Windows 2019 with VS2019'
steps:
+ - task: NuGetCommand@2
+ inputs:
+ command: 'restore'
+ feedsToUse: 'config'
+ nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config'
- task: MSBuild@1
inputs:
- solution: 'BuildAndTest.proj'
+ solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
configuration: 'Release'
+ - task: VSTest@2
+ inputs:
+ testAssemblyVer2: |
+ $(Build.SourcesDirectory)\bin\Release\MICoreUnitTests.dll
+ $(Build.SourcesDirectory)\bin\Release\JDbgUnitTests.dll
+ $(Build.SourcesDirectory)\bin\Release\SSHDebugTests.dll
- task: PublishTestResults@2
inputs:
testResultsFormat: 'xUnit'
@@ -33,18 +55,27 @@ jobs:
- job: DesktopDebug
pool: 'Hosted Windows 2019 with VS2019'
steps:
+ - task: NuGetCommand@2
+ inputs:
+ command: 'restore'
+ feedsToUse: 'config'
+ nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config'
- task: MSBuild@1
inputs:
- solution: 'BuildAndTest.proj'
+ solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
configuration: 'Desktop.Debug'
-
- job: DesktopRelease
pool: 'Hosted Windows 2019 with VS2019'
steps:
+ - task: NuGetCommand@2
+ inputs:
+ command: 'restore'
+ feedsToUse: 'config'
+ nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config'
- task: MSBuild@1
inputs:
- solution: 'BuildAndTest.proj'
+ solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
configuration: 'Desktop.Release'
- job: LabRelease
@@ -52,9 +83,14 @@ jobs:
variables:
TEST_LAB_BUILD: 'true'
steps:
+ - task: NuGetCommand@2
+ inputs:
+ command: 'restore'
+ feedsToUse: 'config'
+ nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config'
- task: MSBuild@1
inputs:
- solution: 'BuildAndTest.proj'
+ solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
configuration: 'Lab.Release'
- job: LabDebug
@@ -62,7 +98,12 @@ jobs:
variables:
TEST_LAB_BUILD: 'true'
steps:
+ - task: NuGetCommand@2
+ inputs:
+ command: 'restore'
+ feedsToUse: 'config'
+ nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config'
- task: MSBuild@1
inputs:
- solution: 'BuildAndTest.proj'
+ solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
configuration: 'Lab.Debug'
\ No newline at end of file
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index 925beba5d..000000000
--- a/build.cmd
+++ /dev/null
@@ -1,47 +0,0 @@
-@echo off
-setlocal
-
-:: Note: We've disabled node reuse because it causes file locking issues.
-:: The issue is that we extend the build with our own targets which
-:: means that that rebuilding cannot successfully delete the task
-:: assembly.
-
-if not defined VisualStudioVersion (
- if defined VS140COMNTOOLS (
- call "%VS140COMNTOOLS%\VsDevCmd.bat"
- goto :EnvSet
- )
-
- echo Error: build.cmd requires Visual Studio 2015 or to be run from a developer command prompt.
- exit /b 1
-)
-
-:EnvSet
-
-:: Log build command line
-set _buildproj=%~dp0BuildAndTest.proj
-set _buildlog=%~dp0msbuild.log
-set _buildprefix=echo
-set _buildpostfix=^> "%_buildlog%"
-call :build %*
-
-:: Build
-set _buildprefix=
-set _buildpostfix=
-call :build %*
-
-goto :AfterBuild
-
-:build
-%_buildprefix% msbuild "%_buildproj%" /nologo /maxcpucount /verbosity:minimal /nodeReuse:false /fileloggerparameters:Verbosity=normal;LogFile="%_buildlog%" %* %_buildpostfix%
-set BUILDERRORLEVEL=%ERRORLEVEL%
-goto :eof
-
-:AfterBuild
-
-echo.
-:: Pull the build summary from the log file
-findstr /ir /c:".*Warning(s)" /c:".*Error(s)" /c:"Time Elapsed.*" "%_buildlog%"
-echo Build Exit Code = %BUILDERRORLEVEL%
-
-exit /b %BUILDERRORLEVEL%
\ No newline at end of file
diff --git a/build/Analyzers.targets b/build/Analyzers.targets
index b13b37861..572fad403 100644
--- a/build/Analyzers.targets
+++ b/build/Analyzers.targets
@@ -2,20 +2,17 @@
false
+ true
..\IDECodeAnalysis.ruleset
-
-
-
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/build/DropFiles.targets b/build/DropFiles.targets
index dd3a8f9bd..f49436ce7 100644
--- a/build/DropFiles.targets
+++ b/build/DropFiles.targets
@@ -1,21 +1,36 @@
-
+
Microsoft400
StrongName
-
+
+
+
+ Microsoft400
+
+
+
+
+
+
+ 3PartySHA2
+ None
+
+
+
+
$(DropRootDir)
$(DropRootDir)\$(DropSubDir)
-
+
-
+
diff --git a/build/all_projects.settings.targets b/build/all_projects.settings.targets
index 2005c7f57..5679ba3e6 100755
--- a/build/all_projects.settings.targets
+++ b/build/all_projects.settings.targets
@@ -15,13 +15,11 @@
$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..'))\
Debug
$(MIEngineRoot)IL\
- $(MIEngineRoot)src\packages
$(ILDir)GeneratedAssemblies\
$(MIEngineRoot)bin\$(Configuration)\
$(MIEngineRoot)bin\$(Configuration)
$(MIEngineRoot)\tools
$(MIEngineRoot)obj\$(Configuration)\$(MSBuildProjectName)\
- $(IntermediateOutputPath)Generated\
diff --git a/build/miengine.settings.targets b/build/miengine.settings.targets
index f201e809b..60df521d9 100755
--- a/build/miengine.settings.targets
+++ b/build/miengine.settings.targets
@@ -9,6 +9,7 @@
+
@@ -55,6 +56,11 @@
$(TF_BUILD_BINARIESDIRECTORY)\$(DropConfigurationName)
$(BUILD_BINARIESDIRECTORY)\$(DropConfigurationName)
$(MIEngineRoot)bin\$(DropConfigurationName)\drop
+
+
+ Debug;Release;Desktop.Debug;Desktop.Release;Lab.Debug;Lab.Release
+ false
+ false
diff --git a/build/miengine.targets b/build/miengine.targets
index 95e78972e..c2b931ecf 100755
--- a/build/miengine.targets
+++ b/build/miengine.targets
@@ -12,10 +12,15 @@
$(BuildDependsOn);GenerateMonoSymbols
+
+
+
+
+ Condition="'$(IsXPlat)' == 'true' AND '$(ShouldGenerateMonoSymbols)' == 'true'"
+ AfterTargets="Build" >
-
+
@@ -88,4 +93,18 @@
+
+
+
+
+ "$(windir)\Microsoft.NET\Framework\v4.0.30319\ilasm.exe"
+ $(IlAsmFlags) /DLL /quiet
+
+
+
+
diff --git a/build/package_versions.settings.targets b/build/package_versions.settings.targets
new file mode 100644
index 000000000..187f5ed95
--- /dev/null
+++ b/build/package_versions.settings.targets
@@ -0,0 +1,48 @@
+
+
+ 1.0.1
+ 15.8.28010
+ 16.7.30328.74
+ 9.0.1
+ 6.0.8
+ 16.7.40526.2
+
+
+ 16.7.1
+ 2.4.1
+ 2.4.3
+ 1.3.0
+ 2.1.2
+
+
+ 0.4.1
+
+
+
+ 15.0.26606
+ 15.0.26606
+ 10.0.30320
+ 11.0.50728
+ 12.0.21006
+ 9.0.21023
+ 15.0.26606
+ 15.0.26606
+ 15.0.25415
+ 15.0.25415
+ 15.0.25415
+ 10.0.30320
+ 11.0.61031
+ 12.0.30111
+ 8.0.50728
+ 9.0.30730
+ 7.10.6072
+ 15.3.23
+ 15.0.26606
+ 15.0.26932
+ 15.0.392
+ 15.0.392
+ 16.7.30328.74
+ 16.8.3038
+ 8.0.2
+
+
\ No newline at end of file
diff --git a/eng/pipelines/VS-release.yml b/eng/pipelines/VS-release.yml
new file mode 100644
index 000000000..8b95a726c
--- /dev/null
+++ b/eng/pipelines/VS-release.yml
@@ -0,0 +1,8 @@
+---
+name: $(Date:yyyMMdd).$(Rev:r)
+jobs:
+- template: ./jobs/VSEng-MicroBuildVS2019.yml
+ parameters:
+ JobName: VS_Release
+ BuildTemplate: 'VS-release'
+...
\ No newline at end of file
diff --git a/eng/pipelines/VSCode-release.yml b/eng/pipelines/VSCode-release.yml
new file mode 100644
index 000000000..3ee72373e
--- /dev/null
+++ b/eng/pipelines/VSCode-release.yml
@@ -0,0 +1,8 @@
+---
+name: $(Date:yyyMMdd).$(Rev:r)
+jobs:
+- template: ./jobs/VSEng-MicroBuildVS2019.yml
+ parameters:
+ JobName: VSCode_Release
+ BuildTemplate: 'VSCode-release'
+...
\ No newline at end of file
diff --git a/eng/pipelines/jobs/VSEng-MicroBuildVS2019.yml b/eng/pipelines/jobs/VSEng-MicroBuildVS2019.yml
new file mode 100644
index 000000000..82e88f563
--- /dev/null
+++ b/eng/pipelines/jobs/VSEng-MicroBuildVS2019.yml
@@ -0,0 +1,12 @@
+---
+parameters:
+ JobName: 'VSEng-MicroBuildVS2019'
+ BuildTemplate: ''
+
+jobs:
+- job: ${{ parameters.JobName }}
+ pool:
+ name: VSEng-MicroBuildVS2019
+ steps:
+ - template: ../templates/${{ parameters.BuildTemplate }}.template.yml
+...
\ No newline at end of file
diff --git a/eng/pipelines/resources/signing_exclusion.txt b/eng/pipelines/resources/signing_exclusion.txt
new file mode 100644
index 000000000..090319e27
--- /dev/null
+++ b/eng/pipelines/resources/signing_exclusion.txt
@@ -0,0 +1 @@
+*.xml, Ignoring signing XML files
\ No newline at end of file
diff --git a/eng/pipelines/steps/ArchivePublicSymbolsAndUploadToFileShare.yml b/eng/pipelines/steps/ArchivePublicSymbolsAndUploadToFileShare.yml
new file mode 100644
index 000000000..d3f93318e
--- /dev/null
+++ b/eng/pipelines/steps/ArchivePublicSymbolsAndUploadToFileShare.yml
@@ -0,0 +1,40 @@
+---
+steps:
+# Publish Build Artifacts to FileShare
+- task: CopyPublishBuildArtifacts@1
+ displayName: Publish Drop
+ inputs:
+ CopyRoot: $(Build.BinariesDirectory)
+ Contents: '**'
+ ArtifactName: Desktop.Release
+ ArtifactType: FilePath
+ TargetPath: $(FileShareDropPath)\$(Build.BuildNumber)
+
+# Publish Symbols to FileShare
+- script: |
+ mkdir $(FileShareDropPath)\$(Build.BuildNumber)\symbols
+ displayName: "Create symbols folder"
+
+# Copy symbols to FileShare
+- task: CopyFiles@2
+ inputs:
+ sourceFolder: '$(Build.ArtifactStagingDirectory)/symbols'
+ contents: '**'
+ targetFolder: $(FileShareDropPath)\$(Build.BuildNumber)\symbols
+
+- task: MicroBuildArchiveSymbols@1
+ displayName: Index Symbols on Symweb
+ inputs:
+ SymbolsFeatureName: MIEngine
+ SymbolsSymwebProject: VS
+ SymbolsUncPath: $(FileShareDropPath)\$(Build.BuildNumber)\symbols
+ SymbolsEmailContacts: $(SymbolsEmailContacts)
+
+# Update 'latest' static drop
+- task: MicroBuildStaticDrop@1
+ displayName: Update Static Drop
+ inputs:
+ CopyRoot: $(FileShareDropPath)\$(Build.BuildNumber)
+ Contents: '**'
+ TargetPath: $(FileShareDropPath)\latest
+...
\ No newline at end of file
diff --git a/eng/pipelines/steps/BuildSolution.yml b/eng/pipelines/steps/BuildSolution.yml
new file mode 100644
index 000000000..402286005
--- /dev/null
+++ b/eng/pipelines/steps/BuildSolution.yml
@@ -0,0 +1,24 @@
+# Restore and Build Solution
+---
+parameters:
+ Solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
+ Configuration: 'Release'
+ BuildArguments: ''
+
+steps:
+- template: ../tasks/NuGetCommand.yml
+ parameters:
+ Command: 'restore'
+ solution: ${{ parameters.Solution }}
+ FeedsToUse: 'config'
+ NugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config'
+
+- template: ../tasks/MSBuild.yml
+ parameters:
+ solution: ${{ parameters.Solution }}
+ configuration: ${{ parameters.Configuration }}
+ msbuildArguments: ${{ parameters.BuildArguments }}
+ env: {
+ "SIGN_TYPE": "$(SignType)"
+ }
+...
\ No newline at end of file
diff --git a/eng/pipelines/steps/CollectAndPublishBinaries.yml b/eng/pipelines/steps/CollectAndPublishBinaries.yml
new file mode 100644
index 000000000..30d66fbf7
--- /dev/null
+++ b/eng/pipelines/steps/CollectAndPublishBinaries.yml
@@ -0,0 +1,21 @@
+# Copies the binaries to a folder and publish them
+---
+parameters:
+ TargetFolder: '$(Build.SourcesDirectory)\drop'
+ ArtifactName: 'drop'
+
+steps:
+- template: ../tasks/CopyFiles.yml
+ parameters:
+ displayName: 'Copy Files to: ${{ parameters.TargetFolder }}'
+ SourceFolder: '$(Build.BinariesDirectory)'
+ TargetFolder: ${{ parameters.TargetFolder }}
+ CleanTargetFolder: true
+ OverWrite: true
+
+- template: ../tasks/PublishPipelineArtifact.yml
+ parameters:
+ displayName: 'Publish Binaries'
+ path: ${{ parameters.TargetFolder }}
+ artifactName: '${{ parameters.ArtifactName }}'
+...
\ No newline at end of file
diff --git a/eng/pipelines/steps/CopyAndPublishSymbols.yml b/eng/pipelines/steps/CopyAndPublishSymbols.yml
new file mode 100644
index 000000000..133c094bd
--- /dev/null
+++ b/eng/pipelines/steps/CopyAndPublishSymbols.yml
@@ -0,0 +1,17 @@
+# Collects build symbols and publishes them as 'Symbols'
+---
+steps:
+- template: ../tasks/CopyFiles.yml
+ parameters:
+ displayName: 'Collect build symbols'
+ SourceFolder: '$(Build.SourcesDirectory)'
+ Contents: '$(Build.SourcesDirectory)\bin\**\*.+(pdb|exe|dll)'
+ TargetFolder: '$(Build.ArtifactStagingDirectory)/symbols'
+ CleanTargetFolder: true
+
+- template: ../tasks/PublishPipelineArtifact.yml
+ parameters:
+ displayName: 'Publish Symbols'
+ path: '$(Build.ArtifactStagingDirectory)/symbols'
+ artifactName: 'Symbols'
+...
\ No newline at end of file
diff --git a/eng/pipelines/steps/PackAndPublishVSPackages.yml b/eng/pipelines/steps/PackAndPublishVSPackages.yml
new file mode 100644
index 000000000..6c131e135
--- /dev/null
+++ b/eng/pipelines/steps/PackAndPublishVSPackages.yml
@@ -0,0 +1,27 @@
+# Pack and Publish NuGet Packages for VS
+# Creates:
+# - VS.Redist.Debugger.MDD.MIEngine
+# - VS.Redist.Debugger.MDD.UnixPortSupplier
+---
+parameters:
+ BasePath: $(Build.StagingDirectory)
+
+steps:
+- template: ../tasks/NuGetCommand.yml
+ parameters:
+ displayName: 'NuGet pack'
+ command: pack
+ searchPatternPack: '$(Build.SourcesDirectory)\MIEngine.mdd.nuspec;$(Build.SourcesDirectory)\MIEngine.UnixPortSupplier.nuspec'
+ configurationToPack: Release
+ versioningScheme: byEnvVar
+ versionEnvVar: 'BUILD_BUILDNUMBER'
+ basePath: ${{ parameters.BasePath }}
+
+- template: ../tasks/NuGetCommand.yml
+ parameters:
+ displayName: 'NuGet push'
+ command: push
+ searchPatternPush: '$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.MIEngine.*.nupkg;$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.UnixPortSupplier.*.nupkg'
+ feedPublish: '97a41293-2972-4f48-8c0e-05493ae82010' # VS
+ condition: and(succeeded(), eq(variables['SignType'], 'real'))
+...
\ No newline at end of file
diff --git a/eng/pipelines/tasks/CopyFiles.yml b/eng/pipelines/tasks/CopyFiles.yml
new file mode 100644
index 000000000..31354fcfd
--- /dev/null
+++ b/eng/pipelines/tasks/CopyFiles.yml
@@ -0,0 +1,82 @@
+# CopyFiles
+#
+# Copy files from a source folder to a target folder using patterns matching file paths (not folder paths)
+#
+# Version: 2.178.0
+#
+# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files
+# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/CopyFilesV2/task.json
+---
+parameters:
+ # region Step Configurations
+
+ displayName: 'Copy Files'
+ enabled: true
+ continueOnError: false
+ condition: succeeded()
+ timeoutInMinutes: 0
+
+ # endregion
+
+ # region Advanced
+
+ # Clean Target Folder
+ #
+ # Delete all existing files in target folder before copy
+ CleanTargetFolder : false # Optional
+
+ # Overwrite
+ #
+ # Replace existing file in target folder
+ OverWrite : false # Optional
+
+ # Flatten Folders
+ #
+ # Flatten the folder structure and copy all files into the specified target folder.
+ flattenFolders : false # Optional
+
+ # Preserve Target Timestamp
+ #
+ # Using the original source file, preserve the target file timestamp.
+ preserveTimestamp : false # Optional
+
+ # endregion
+
+ # region Ungrouped Configurations
+
+ # Source Folder
+ #
+ # The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988)
+ # if files are not in the repo. Example: $(agent.builddirectory)
+ SourceFolder : "" # Optional
+
+ # Contents
+ #
+ # File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389)
+ Contents : | # Required
+ **
+
+ # Target Folder
+ #
+ # Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988).
+ # Example: $(build.artifactstagingdirectory)
+ TargetFolder : "" # Required
+
+ # endregion
+
+steps:
+- task: CopyFiles@2
+ displayName: ${{ parameters.DisplayName }}
+ inputs:
+ SourceFolder : ${{ parameters.SourceFolder }}
+ Contents : ${{ parameters.Contents }}
+ TargetFolder : ${{ parameters.TargetFolder }}
+ CleanTargetFolder : ${{ parameters.CleanTargetFolder }}
+ OverWrite : ${{ parameters.OverWrite }}
+ flattenFolders : ${{ parameters.flattenFolders }}
+ preserveTimestamp : ${{ parameters.preserveTimestamp }}
+ enabled: ${{ parameters.enabled }}
+ condition: ${{ parameters.condition }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ continueOnError: ${{ parameters.continueOnError }}
+...
diff --git a/eng/pipelines/tasks/MSBuild.yml b/eng/pipelines/tasks/MSBuild.yml
new file mode 100644
index 000000000..4e00dcfe7
--- /dev/null
+++ b/eng/pipelines/tasks/MSBuild.yml
@@ -0,0 +1,142 @@
+# MSBuild
+#
+# Build with MSBuild
+#
+# Version: 1.179.0
+#
+# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/build/msbuild
+# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/MSBuildV1/task.json
+---
+parameters:
+ # region Step Configurations
+
+ displayName: 'Build solution'
+ enabled: true
+ env: {}
+ continueOnError: false
+ condition: succeeded()
+ timeoutInMinutes: 0
+
+ # endregion
+
+ # region Advanced
+
+ # Build in Parallel
+ #
+ # If your MSBuild target configuration is compatible with building in parallel, you can optionally check
+ # this input to pass the /m switch to MSBuild (Windows only). If your target configuration is not compatible
+ # with building in parallel, checking this option may cause your build to result in file-in-use errors,
+ # or intermittent or inconsistent build failures.
+ maximumCpuCount : false # Optional
+
+ # Restore NuGet Packages
+ #
+ # This option is deprecated. To restore NuGet packages, add a [NuGet](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget)
+ # task before the build.
+ restoreNugetPackages : false # Optional
+
+ # Record Project Details
+ #
+ # Optionally record timeline details for each project (Windows only).
+ logProjectEvents : false # Optional
+
+ # Create Log File
+ #
+ # Optionally create a log file (Windows only).
+ createLogFile : false # Optional
+
+ # Log File Verbosity
+ #
+ # Optional log file verbosity.
+ # Options:
+ # quiet
+ # minimal
+ # normal
+ # detailed
+ # diagnostic
+ logFileVerbosity : "normal" # Used when createLogFile = true
+
+ # endregion
+
+ # region Ungrouped Configurations
+
+ # Project
+ #
+ # Relative path from repo root of the project(s) or solution(s) to run. Wildcards can be used. For example,
+ # `**/*.csproj` for all csproj files in all sub folders.
+ solution : "" # Required
+
+ # MSBuild
+ # Options:
+ # version
+ # location
+ msbuildLocationMethod : "version" # Optional
+
+ # MSBuild Version
+ #
+ # If the preferred version cannot be found, the latest version found will be used instead. On an macOS
+ # agent, xbuild (Mono) will be used if version is lower than 15.0.
+ # Options:
+ # latest
+ # 16.0
+ # 15.0
+ # 14.0
+ # 12.0
+ # 4.0
+ msbuildVersion : "latest" # Used when msbuildLocationMethod = version
+
+ # MSBuild Architecture
+ #
+ # Optionally supply the architecture (x86, x64) of MSBuild to run.
+ # Options:
+ # x86
+ # x64
+ msbuildArchitecture : "x86" # Used when msbuildLocationMethod = version
+
+ # Path to MSBuild
+ #
+ # Optionally supply the path to MSBuild.
+ msbuildLocation : "" # Used when msbuildLocationMethod = location
+
+ # Platform
+ platform : "" # Optional
+
+ # Configuration
+ configuration : "" # Optional
+
+ # MSBuild Arguments
+ #
+ # Additional arguments passed to MSBuild (on Windows) and xbuild (on macOS).
+ msbuildArguments : "" # Optional
+
+ # Clean
+ #
+ # Run a clean build (/t:clean) prior to the build.
+ clean : false # Optional
+
+ # endregion
+
+steps:
+- task: MSBuild@1
+ displayName: ${{ parameters.DisplayName }}
+ inputs:
+ solution : ${{ parameters.solution }}
+ msbuildLocationMethod : ${{ parameters.msbuildLocationMethod }}
+ msbuildVersion : ${{ parameters.msbuildVersion }}
+ msbuildArchitecture : ${{ parameters.msbuildArchitecture }}
+ msbuildLocation : ${{ parameters.msbuildLocation }}
+ platform : ${{ parameters.platform }}
+ configuration : ${{ parameters.configuration }}
+ msbuildArguments : ${{ parameters.msbuildArguments }}
+ clean : ${{ parameters.clean }}
+ maximumCpuCount : ${{ parameters.maximumCpuCount }}
+ restoreNugetPackages : ${{ parameters.restoreNugetPackages }}
+ logProjectEvents : ${{ parameters.logProjectEvents }}
+ createLogFile : ${{ parameters.createLogFile }}
+ logFileVerbosity : ${{ parameters.logFileVerbosity }}
+ enabled: ${{ parameters.enabled }}
+ env: ${{ parameters.env }}
+ condition: ${{ parameters.condition }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ continueOnError: ${{ parameters.continueOnError }}
+...
diff --git a/eng/pipelines/tasks/MicroBuildCleanup.yml b/eng/pipelines/tasks/MicroBuildCleanup.yml
new file mode 100644
index 000000000..b33ff61eb
--- /dev/null
+++ b/eng/pipelines/tasks/MicroBuildCleanup.yml
@@ -0,0 +1,5 @@
+---
+steps:
+- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
+ displayName: 'Perform Cleanup Tasks'
+...
\ No newline at end of file
diff --git a/eng/pipelines/tasks/MicroBuildLocalizationPlugin.yml b/eng/pipelines/tasks/MicroBuildLocalizationPlugin.yml
new file mode 100644
index 000000000..78e4a7541
--- /dev/null
+++ b/eng/pipelines/tasks/MicroBuildLocalizationPlugin.yml
@@ -0,0 +1,5 @@
+---
+steps:
+- task: ms-vseng.MicroBuildTasks.a0262b21-fb8f-46f8-bb9a-60ed560d4a87.MicroBuildLocalizationPlugin@2
+ displayName: 'Install Localization Plugin'
+...
\ No newline at end of file
diff --git a/eng/pipelines/tasks/MicroBuildSigningPlugin.yml b/eng/pipelines/tasks/MicroBuildSigningPlugin.yml
new file mode 100644
index 000000000..625035a41
--- /dev/null
+++ b/eng/pipelines/tasks/MicroBuildSigningPlugin.yml
@@ -0,0 +1,7 @@
+---
+steps:
+- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@2
+ displayName: 'Install Signing Plugin'
+ inputs:
+ signType: $(SignType)
+...
\ No newline at end of file
diff --git a/eng/pipelines/tasks/NuGetCommand.yml b/eng/pipelines/tasks/NuGetCommand.yml
new file mode 100644
index 000000000..9ec464e4d
--- /dev/null
+++ b/eng/pipelines/tasks/NuGetCommand.yml
@@ -0,0 +1,311 @@
+# NuGetCommand
+#
+# Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds
+# like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and
+# .NET Standard apps, use the .NET Core task.
+#
+# Version: 2.179.0
+#
+# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget
+# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/NuGetCommandV2/task.json
+---
+parameters:
+ # region Step Configurations
+
+ displayName: 'NuGet Command'
+ enabled: true
+ continueOnError: false
+ condition: succeeded()
+ timeoutInMinutes: 0
+
+ # endregion
+
+ # region Feeds and authentication
+
+ # Feeds to use
+ #
+ # You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file
+ # to your source code repository and set its path here.
+ # Options:
+ # select
+ # config
+ selectOrConfig : "select" # Required
+
+ # Use packages from this Azure Artifacts/TFS feed
+ #
+ # Include the selected feed in the generated NuGet.config. You must have Azure Artifacts installed and
+ # licensed to select a feed here.
+ feedRestore : "" # Used when selectOrConfig = select
+
+ # Use packages from NuGet.org
+ #
+ # Include NuGet.org in the generated NuGet.config.
+ includeNuGetOrg : true # Used when selectOrConfig = select
+
+ # Path to NuGet.config
+ #
+ # The NuGet.config in your repository that specifies the feeds from which to restore packages.
+ nugetConfigPath : "" # Used when selectOrConfig = config
+
+ # Credentials for feeds outside this organization/collection
+ #
+ # Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection,
+ # leave this blank; the build’s credentials are used automatically.
+ externalEndpoints : "" # Used when selectOrConfig = config
+
+ # endregion
+
+ # region Advanced
+
+ # Disable local cache
+ #
+ # Prevents NuGet from using packages from local machine caches.
+ noCache : false # Required
+
+ # Disable parallel processing
+ #
+ # Prevents NuGet from installing multiple packages in parallel.
+ disableParallelProcessing : false # Required
+
+ # Destination directory
+ #
+ # Specifies the folder in which packages are installed. If no folder is specified, packages are restored
+ # into a packages/ folder alongside the selected solution, packages.config, or project.json.
+ packagesDirectory : "" # Required
+
+ # Verbosity
+ #
+ # Specifies the amount of detail displayed in the output.
+ # Options:
+ # Quiet
+ # Normal
+ # Detailed
+ verbosityRestore : "Detailed" # Required
+
+ # endregion
+
+ # region Advanced
+
+ # Publish pipeline metadata
+ #
+ # Associate this build/release pipeline’s metadata (run #, source code information) with the package
+ publishPackageMetadata : true # Used when command = push && nuGetFeedType = internal
+
+ # Verbosity
+ #
+ # Specifies the amount of detail displayed in the output.
+ # Options:
+ # Quiet
+ # Normal
+ # Detailed
+ verbosityPush : "Detailed" # Required
+
+ # endregion
+
+ # region Pack options
+
+ # Automatic package versioning
+ #
+ # Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate
+ # a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where
+ # you choose X, Y, and Z.If you choose 'Use an environment variable', you must select an environment variable
+ # and ensure it contains the version number you want to use.If you choose 'Use the build number', this
+ # will use the build number to version your package. **Note:** Under Options set the build number format
+ # to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.
+ # Options:
+ # off
+ # byPrereleaseNumber
+ # byEnvVar
+ # byBuildNumber
+ versioningScheme : "off" # Required
+
+ # Include referenced projects
+ #
+ # Include referenced projects either as dependencies or as part of the package. Cannot be used with automatic
+ # package versioning. If a referenced project has a corresponding nuspec file that has the same name as
+ # the project, then that referenced project is added as a dependency. Otherwise, the referenced project
+ # is added as part of the package. [Learn more](https://docs.microsoft.com/en-us/nuget/tools/cli-ref-pack).
+ includeReferencedProjects : false # Used when versioningScheme = off
+
+ # Environment variable
+ #
+ # Enter the variable name without $, $env, or %.
+ versionEnvVar : "" # Used when versioningScheme = byEnvVar
+
+ # Major
+ #
+ # The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)
+ requestedMajorVersion : "1" # Used when versioningScheme = byPrereleaseNumber
+
+ # Minor
+ #
+ # The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)
+ requestedMinorVersion : "0" # Used when versioningScheme = byPrereleaseNumber
+
+ # Patch
+ #
+ # The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)
+ requestedPatchVersion : "0" # Used when versioningScheme = byPrereleaseNumber
+
+ # Time zone
+ #
+ # Specifies the desired time zone used to produce the version of the package. Selecting UTC is recommended
+ # if you're using hosted build agents as their date and time might differ.
+ # Options:
+ # utc
+ # local
+ packTimezone : "utc" # Used when versioningScheme = byPrereleaseNumber
+
+ # Create symbols package
+ #
+ # Specifies that the package contains sources and symbols. When used with a .nuspec file, this creates
+ # a regular NuGet package file and the corresponding symbols package.
+ includeSymbols : false # Optional
+
+ # Tool Package
+ #
+ # Determines if the output files of the project should be in the tool folder.
+ toolPackage : false # Optional
+
+ # endregion
+
+ # region Advanced
+
+ # Additional build properties
+ #
+ # Specifies a list of token=value pairs, separated by semicolons, where each occurrence of $token$ in the
+ # .nuspec file will be replaced with the given value. Values can be strings in quotation marks.
+ buildProperties : "" # Optional
+
+ # Base path
+ #
+ # The base path of the files defined in the nuspec file.
+ basePath : "" # Optional
+
+ # Verbosity
+ #
+ # Specifies the amount of detail displayed in the output.
+ # Options:
+ # Quiet
+ # Normal
+ # Detailed
+ verbosityPack : "Detailed" # Required
+
+ # endregion
+
+ # region Ungrouped Configurations
+
+ # Command
+ #
+ # The NuGet command to run. Select 'Custom' to add arguments or to use a different command.
+ # Options:
+ # restore
+ # pack
+ # push
+ # custom
+ command : "restore" # Required
+
+ # Path to solution, packages.config, or project.json
+ #
+ # The path to the solution, packages.config, or project.json file that references the packages to be restored.
+ solution : "" # Used when command = restore
+
+ # Path to NuGet package(s) to publish
+ #
+ # The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.
+ searchPatternPush : "" # Used when command = push
+
+ # Target feed location
+ # Options:
+ # internal
+ # external
+ nuGetFeedType : "internal" # Used when command = push
+
+ # Target feed
+ #
+ # Select a feed hosted in this account. You must have Azure Artifacts installed and licensed to select
+ # a feed here.
+ feedPublish : "" # Used when command = push && nuGetFeedType = internal
+
+ # Allow duplicates to be skipped
+ #
+ # If you continually publish a set of packages and only change the version number of the subset of packages
+ # that changed, use this option. It allows the task to report success even if some of your packages are
+ # rejected with 409 Conflict errors.This option is currently only available on Azure Pipelines and using
+ # Windows agents. If NuGet.exe encounters a conflict, the task will fail. This option will not work and
+ # publish will fail if you are within a proxy environment.
+ allowPackageConflicts : false # Used when command = push && nuGetFeedType = internal
+
+ # NuGet server
+ #
+ # The NuGet service connection that contains the external NuGet server’s credentials.
+ externalEndpoint : "" # Used when command = push && nuGetFeedType = external
+
+ # Path to csproj or nuspec file(s) to pack
+ #
+ # Pattern to search for csproj directories to pack.You can separate multiple patterns with a semicolon,
+ # and you can make a pattern negative by prefixing it with '!'. Example: `**\*.csproj;!**\*.Tests.csproj`
+ searchPatternPack : "" # Used when command = pack
+
+ # Configuration to package
+ #
+ # When using a csproj file this specifies the configuration to package
+ configurationToPack : "$(BuildConfiguration)" # Used when command = pack
+
+ # Package folder
+ #
+ # Folder where packages will be created. If empty, packages will be created at the source root.
+ outputDir : "" # Used when command = pack
+
+ # Command and arguments
+ #
+ # The command and arguments which will be passed to NuGet.exe for execution. If NuGet 3.5 or later is used,
+ # authenticated commands like list, restore, and publish against any feed in this organization/collection
+ # that the Project Collection Build Service has access to will be automatically authenticated.
+ arguments : "" # Used when command = custom
+
+ # endregion
+
+steps:
+- task: NuGetCommand@2
+ displayName: ${{ parameters.DisplayName }}
+ inputs:
+ command : ${{ parameters.command }}
+ solution : ${{ parameters.solution }}
+ selectOrConfig : ${{ parameters.selectOrConfig }}
+ feedRestore : ${{ parameters.feedRestore }}
+ includeNuGetOrg : ${{ parameters.includeNuGetOrg }}
+ nugetConfigPath : ${{ parameters.nugetConfigPath }}
+ externalEndpoints : ${{ parameters.externalEndpoints }}
+ noCache : ${{ parameters.noCache }}
+ disableParallelProcessing : ${{ parameters.disableParallelProcessing }}
+ packagesDirectory : ${{ parameters.packagesDirectory }}
+ verbosityRestore : ${{ parameters.verbosityRestore }}
+ searchPatternPush : ${{ parameters.searchPatternPush }}
+ nuGetFeedType : ${{ parameters.nuGetFeedType }}
+ feedPublish : ${{ parameters.feedPublish }}
+ publishPackageMetadata : ${{ parameters.publishPackageMetadata }}
+ allowPackageConflicts : ${{ parameters.allowPackageConflicts }}
+ externalEndpoint : ${{ parameters.externalEndpoint }}
+ verbosityPush : ${{ parameters.verbosityPush }}
+ searchPatternPack : ${{ parameters.searchPatternPack }}
+ configurationToPack : ${{ parameters.configurationToPack }}
+ outputDir : ${{ parameters.outputDir }}
+ versioningScheme : ${{ parameters.versioningScheme }}
+ includeReferencedProjects : ${{ parameters.includeReferencedProjects }}
+ versionEnvVar : ${{ parameters.versionEnvVar }}
+ requestedMajorVersion : ${{ parameters.requestedMajorVersion }}
+ requestedMinorVersion : ${{ parameters.requestedMinorVersion }}
+ requestedPatchVersion : ${{ parameters.requestedPatchVersion }}
+ packTimezone : ${{ parameters.packTimezone }}
+ includeSymbols : ${{ parameters.includeSymbols }}
+ toolPackage : ${{ parameters.toolPackage }}
+ buildProperties : ${{ parameters.buildProperties }}
+ basePath : ${{ parameters.basePath }}
+ verbosityPack : ${{ parameters.verbosityPack }}
+ arguments : ${{ parameters.arguments }}
+ enabled: ${{ parameters.enabled }}
+ condition: ${{ parameters.condition }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ continueOnError: ${{ parameters.continueOnError }}
+...
diff --git a/eng/pipelines/tasks/NuGetToolInstaller.yml b/eng/pipelines/tasks/NuGetToolInstaller.yml
new file mode 100644
index 000000000..61e16aa38
--- /dev/null
+++ b/eng/pipelines/tasks/NuGetToolInstaller.yml
@@ -0,0 +1,50 @@
+# NuGetToolInstaller
+#
+# Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use
+# this task to change the version of NuGet used in the NuGet tasks.
+#
+# Version: 1.179.0
+#
+# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/nuget
+# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/NuGetToolInstallerV1/task.json
+---
+parameters:
+ # region Step Configurations
+
+ displayName: 'Install NuGet'
+ enabled: true
+ continueOnError: false
+ condition: succeeded()
+ timeoutInMinutes: 0
+
+ # endregion
+
+ # region Advanced
+
+ # Version of NuGet.exe to install
+ #
+ # A version or version range that specifies the NuGet version to make available on the path. Use x as a
+ # wildcard. See the [list of available NuGet versions](http://dist.nuget.org/tools.json).If you want to
+ # match a pre-release version, the specification must contain a major, minor, patch, and pre-release version
+ # from the list above.Examples: 4.x, 3.3.x, 2.8.6, >=4.0.0-0If unspecified, a version will be chosen automatically.
+ versionSpec : "" # Optional
+
+ # Always check for new versions
+ #
+ # Always check for and download the latest available version of NuGet.exe which satisfies the version spec.Enabling
+ # this option could cause unexpected build breaks when a new version of NuGet is released.
+ checkLatest : false # Optional
+
+ # endregion
+
+steps:
+- task: NuGetToolInstaller@1
+ displayName: ${{ parameters.DisplayName }}
+ inputs:
+ versionSpec : ${{ parameters.versionSpec }}
+ checkLatest : ${{ parameters.checkLatest }}
+ enabled: ${{ parameters.enabled }}
+ condition: ${{ parameters.condition }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ continueOnError: ${{ parameters.continueOnError }}
+...
diff --git a/eng/pipelines/tasks/PublishPipelineArtifact.yml b/eng/pipelines/tasks/PublishPipelineArtifact.yml
new file mode 100644
index 000000000..9f8ff7181
--- /dev/null
+++ b/eng/pipelines/tasks/PublishPipelineArtifact.yml
@@ -0,0 +1,77 @@
+# PublishPipelineArtifact
+#
+# Publish (upload) a file or directory as a named artifact for the current run
+#
+# Version: 1.2.3
+#
+# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact
+# Task.json: https://raw.githubusercontent.com/microsoft/azure-pipelines-tasks/master/Tasks/PublishPipelineArtifactV1/task.json
+---
+parameters:
+ # region Step Configurations
+
+ displayName: 'Publish Pipeline Artifact'
+ enabled: true
+ continueOnError: false
+ condition: succeeded()
+ timeoutInMinutes: 0
+
+ # endregion
+
+ # region Ungrouped Configurations
+
+ # File or directory path
+ #
+ # The path of the file or directory to publish. Can be absolute or relative to the default working directory.
+ # Can include [variables](https://go.microsoft.com/fwlink/?LinkID=550988), but wildcards are not supported.
+ path : "" # Required
+
+ # Artifact name
+ #
+ # Name of the artifact to publish. If not set, defaults to a unique ID scoped to the job.
+ artifactName : "" # Optional
+
+ # Artifact publish location
+ #
+ # Choose whether to store the artifact in Azure Pipelines, or to copy it to a file share that must be accessible
+ # from the pipeline agent.
+ # Options:
+ # pipeline
+ # filepath
+ artifactType : "pipeline" # Required
+
+ # File share path
+ #
+ # The file share to which the artifact files will be copied. This can include variables. Example: \\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber).
+ # Publishing artifacts from a Linux or macOS agent to a file share is not supported.
+ fileSharePath : "" # Used when artifactType = filepath
+
+ # Parallel copy
+ #
+ # Select whether to copy files in parallel using multiple threads for greater potential throughput. If
+ # this setting is not enabled, one thread will be used.
+ parallel : false # Used when artifactType = filepath
+
+ # Parallel count
+ #
+ # Enter the degree of parallelism, or number of threads used, to perform the copy. The value must be at
+ # least 1 and not greater than 128.
+ parallelCount : 8 # Used when artifactType = filepath && parallel = true
+
+ # endregion
+
+steps:
+- task: PublishPipelineArtifact@1
+ displayName: ${{ parameters.DisplayName }}
+ inputs:
+ path : ${{ parameters.path }}
+ artifactName : ${{ parameters.artifactName }}
+ artifactType : ${{ parameters.artifactType }}
+ fileSharePath : ${{ parameters.fileSharePath }}
+ parallel : ${{ parameters.parallel }}
+ parallelCount : ${{ parameters.parallelCount }}
+ enabled: ${{ parameters.enabled }}
+ condition: ${{ parameters.condition }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ continueOnError: ${{ parameters.continueOnError }}
+...
diff --git a/eng/pipelines/tasks/SignVerify.yml b/eng/pipelines/tasks/SignVerify.yml
new file mode 100644
index 000000000..120bfebf1
--- /dev/null
+++ b/eng/pipelines/tasks/SignVerify.yml
@@ -0,0 +1,13 @@
+---
+parameters:
+ TargetFolders: '$(Build.BinariesDirectory)'
+
+steps:
+- task: ms-vseng.MicroBuildShipTasks.7c429315-71ba-4cb3-94bb-f829c95f7915.MicroBuildCodesignVerify@3
+ displayName: 'Verify Signed Files'
+ inputs:
+ TargetFolders: |
+ ${{ parameters.TargetFolders }}
+ ApprovalListPathForCerts: '$(Build.SourcesDirectory)\eng\pipelines\resources\signing_exclusion.txt'
+ condition: and(succeeded(), eq(variables['SignType'], 'real'))
+...
\ No newline at end of file
diff --git a/eng/pipelines/templates/VS-release.template.yml b/eng/pipelines/templates/VS-release.template.yml
new file mode 100644
index 000000000..1147036ad
--- /dev/null
+++ b/eng/pipelines/templates/VS-release.template.yml
@@ -0,0 +1,31 @@
+---
+steps:
+- checkout: self
+
+- template: ../tasks/NuGetToolInstaller.yml
+
+- template: ../tasks/MicroBuildSigningPlugin.yml
+
+- template: ../tasks/MicroBuildLocalizationPlugin.yml
+
+- template: ../steps/BuildSolution.yml
+ parameters:
+ Configuration: 'Lab.Release'
+
+- template: ../steps/CollectAndPublishBinaries.yml
+ parameters:
+ TargetFolder: '$(Build.StagingDirectory)\drop'
+ ArtifactName: 'drop'
+
+- template: ../tasks/SignVerify.yml
+ parameters:
+ TargetFolders: '$(Build.StagingDirectory)\drop'
+
+- template: ../steps/CopyAndPublishSymbols.yml
+
+- template: ../steps/PackAndPublishVSPackages.yml
+ parameters:
+ BasePath: $(Build.StagingDirectory)
+
+- template: ../tasks/MicroBuildCleanup.yml
+...
\ No newline at end of file
diff --git a/eng/pipelines/templates/VSCode-release.template.yml b/eng/pipelines/templates/VSCode-release.template.yml
new file mode 100644
index 000000000..cf59706f7
--- /dev/null
+++ b/eng/pipelines/templates/VSCode-release.template.yml
@@ -0,0 +1,28 @@
+---
+steps:
+- checkout: self
+
+- template: ../tasks/NuGetToolInstaller.yml
+
+- template: ../tasks/MicroBuildSigningPlugin.yml
+
+- template: ../steps/BuildSolution.yml
+ parameters:
+ Configuration: 'Desktop.Release'
+ BuildArguments: '/p:Lab=$(Lab)'
+
+- template: ../steps/CollectAndPublishBinaries.yml
+ parameters:
+ TargetFolder: '$(Build.StagingDirectory)\bin'
+ ArtifactName: 'bin'
+
+- template: ../tasks/SignVerify.yml
+ parameters:
+ TargetFolders: '$(Build.StagingDirectory)\bin'
+
+- template: ../steps/CopyAndPublishSymbols.yml
+
+- template: ../steps/ArchivePublicSymbolsAndUploadToFileShare.yml
+
+- template: ../tasks/MicroBuildCleanup.yml
+...
\ No newline at end of file
diff --git a/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj b/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj
index a393e1156..aabcbd4be 100755
--- a/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj
+++ b/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj
@@ -1,7 +1,5 @@
-
-
-
-
+
+
Debug
AnyCPU
@@ -10,7 +8,7 @@
Properties
AndroidDebugLauncher
Microsoft.AndroidDebugLauncher
- v4.6.2
+ net462
512
$(MIDefaultOutputPath)
@@ -48,44 +46,19 @@
prompt
MinimumRecommendedRules.ruleset
-
+
+
+
+
+
+
False
$(GeneratedAssembliesDir)libadb.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- LauncherResources.resx
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
PreserveNewest
@@ -93,7 +66,8 @@
Always
-
+
+
{ea876a2d-ab0f-4204-97dd-dfb3b5568978}
DebugEngineHost.Stub
@@ -108,17 +82,11 @@
MICore
-
-
- ResXFileCodeGenerator
- LauncherResources.Designer.cs
- Designer
-
-
+
-
+
1.0.0
-
-
-
14.0
Debug
AnyCPU
{EA876A2D-AB0F-4204-97DD-DFB3B5568978}
- Library
Properties
Microsoft.DebugEngineHost
Microsoft.DebugEngineHost
@@ -25,7 +20,7 @@
of DebugEngineHost, so we don't want to conflict with the real version. -->
bin\$(Configuration)
$(DropRootDir)\ReferenceAssemblies\$(AssemblyName).xml
- v4.6.2
+ net462
true
@@ -74,24 +69,21 @@
prompt
4
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll
-
-
-
-
-
+
+
+
+
+
ReferenceAssemblies
+
-
+
-
1.0.0
-
-
-
14.0
Desktop.Debug
@@ -24,7 +20,7 @@
$(MIDefaultOutputPath)\vscode
vscode
true
- v4.6.2
+ net462
true
@@ -74,60 +70,28 @@
4
false
-
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll
-
-
- $(NuGetPackagesDirectory)\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- HostResources.resx
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
- ResXFileCodeGenerator
- HostResources.Designer.cs
-
-
+
+
-
+
-
\ No newline at end of file
diff --git a/src/DebugEngineHost.VSCode/packages.config b/src/DebugEngineHost.VSCode/packages.config
deleted file mode 100644
index 5ee637adf..000000000
--- a/src/DebugEngineHost.VSCode/packages.config
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/DebugEngineHost/DebugEngineHost.csproj b/src/DebugEngineHost/DebugEngineHost.csproj
index b5e9eb05d..dce9527f5 100755
--- a/src/DebugEngineHost/DebugEngineHost.csproj
+++ b/src/DebugEngineHost/DebugEngineHost.csproj
@@ -1,13 +1,10 @@
-
-
+
1.0.0
-
-
Debug
AnyCPU
@@ -16,7 +13,7 @@
Properties
Microsoft.DebugEngineHost
Microsoft.DebugEngineHost
- v4.6.2
+ net462
512
$(MIDefaultOutputPath)
@@ -60,117 +57,108 @@
prompt
4
-
-
- False
- False
- $(NugetPackagesDirectory)\Microsoft.VisualStudio.ComponentModelHost.15.0.26201\lib\net45\Microsoft.VisualStudio.ComponentModelHost.dll
-
-
- False
-
- $(MicrosoftVisualStudioDebuggerEnginePath)
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
+
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+
+
+
+
+
+
+
$(GeneratedAssembliesDir)Microsoft.Internal.VisualStudio.Shell.Interop.14.0.DesignTime.dll
True
-
- False
-
-
- False
-
-
- False
-
-
- True
-
-
- True
-
-
- True
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
- False
- false
- $(NugetPackagesDirectory)\Microsoft.VisualStudio.Workspace.15.0.392\lib\net46\Microsoft.VisualStudio.Workspace.dll
-
-
- False
- false
- $(NugetPackagesDirectory)\Microsoft.VisualStudio.Workspace.VSIntegration.15.0.392\lib\net46\Microsoft.VisualStudio.Workspace.VSIntegration.Contracts.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- Resource.resx
-
-
-
-
-
-
-
-
-
-
-
+
-
-
- ResXFileCodeGenerator
- Resource.Designer.cs
-
-
-
+
+
diff --git a/src/DebugEngineHost/packages.config b/src/DebugEngineHost/packages.config
deleted file mode 100644
index 3254dd00f..000000000
--- a/src/DebugEngineHost/packages.config
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/IOSDebugLauncher/IOSDebugLauncher.csproj b/src/IOSDebugLauncher/IOSDebugLauncher.csproj
index 2d005c292..4f51160f9 100755
--- a/src/IOSDebugLauncher/IOSDebugLauncher.csproj
+++ b/src/IOSDebugLauncher/IOSDebugLauncher.csproj
@@ -1,7 +1,5 @@
-
-
-
-
+
+
Debug
AnyCPU
@@ -10,7 +8,7 @@
Properties
IOSDebugLauncher
Microsoft.IOSDebugLauncher
- v4.6.2
+ net462
512
$(MIDefaultOutputPath)
@@ -46,50 +44,27 @@
prompt
MinimumRecommendedRules.ruleset
-
-
- $(NuGetPackagesDirectory)\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll
- True
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
- True
- True
- LauncherResources.resx
-
-
-
-
-
+
+
+
+ False
+
+
+ False
+
-
+
+
Always
-
-
- ResXFileCodeGenerator
- LauncherResources.Designer.cs
-
-
-
-
-
-
+
+
{ea876a2d-ab0f-4204-97dd-dfb3b5568978}
DebugEngineHost.Stub
@@ -100,7 +75,7 @@
MICore
-
+
$(NoWarn);1591
true
- v4.6.2
+ net462
true
@@ -75,21 +73,20 @@
prompt
MinimumRecommendedRules.ruleset
-
-
-
-
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll
-
+
+
+
-
- $(NuGetPackagesDirectory)/Newtonsoft.Json.6.0.8/lib/portable-net45+wp80+win8+wpa81+aspnetcore50/Newtonsoft.Json.dll
- True
+
+
+
+
+
+ False
-
+
+
{ea876a2d-ab0f-4204-97dd-dfb3b5568978}
DebugEngineHost.Stub
@@ -102,10 +99,17 @@
False
+
+
+
+
+
+
LaunchOptions.xsd.types.designer.cs
LaunchOptions.xsd.types.designer.desktop.cs
+
@@ -114,67 +118,13 @@
osxlaunchhelper.scpt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- LaunchOptions.xsd
-
-
-
- True
- True
- MICoreResources.resx
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PublicResXFileCodeGenerator
- MICoreResources.Designer.cs
- Designer
-
-
+
-
+
-
+
+
-
-
+
+
-
- 14.0
- $(VisualStudioVersion)
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
- Debug
-
- $(MIDefaultOutputPath)
-
-
- true
- full
- false
- $(DefineConstants);DEBUG;TRACE
- prompt
- 4
- AnyCPU
-
-
- pdbonly
- true
- $(DefineConstants);TRACE
- prompt
- 4
-
-
- true
- $(DefineConstants);DEBUG;TRACE
- full
- AnyCPU
- prompt
- MinimumRecommendedRules.ruleset
-
-
- $(DefineConstants);CODE_ANALYSIS;TRACE
- true
- pdbonly
- AnyCPU
- prompt
- MinimumRecommendedRules.ruleset
-
-
- true
- full
- false
- $(DefineConstants);DEBUG;TRACE
- prompt
- 4
- AnyCPU
-
-
- pdbonly
- true
- $(DefineConstants);TRACE
- prompt
- 4
-
-
-
-
- AnyCPU
- 2.0
- {4F38F986-5C93-44CB-A387-AEF3737E6D22}
- {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- Library
- Properties
+ net462
Microsoft.MIDebugPackage
Microsoft.MIDebugPackage
- v4.6.2
+ $(MIDefaultOutputPath)
+
+ true
+
+
+ true
+ true
+ true
+ true
$(AssemblyName).DoNotInstall.vsix
-
-
+
+
Program
$(DevEnvDir)devenv.exe
/rootsuffix Exp
-
-
- $(VsSDKInstall)\VisualStudioIntegration\Common\inc
- $(VsSDKInstall)\VisualStudioIntegration\Tools\bin
-
-
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
- true
-
-
- true
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
+
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+
+ compile
+ all
+
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- Resources.resx
-
-
-
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- true
- VSPackage
-
+
+ compile
+ all
+
+
+
+
+
Always
true
-
- Designer
-
-
Designer
-
-
+
Menus.ctmenu
-
-
-
-
-
-
+
$(VS)
@@ -201,12 +119,14 @@
false
+
$(MIEngineRoot)loc\LCI\OpenFolderSchema.json.lci
$(MIEngineRoot)loc\LCL\{Lang}\OpenFolderSchema.json.lcl
+
$(DropRootDir)\loc\
@@ -259,14 +179,15 @@
-
+
+
-
+
@@ -289,7 +210,7 @@
-
+
@@ -298,7 +219,8 @@
-
+
+
{54c33afa-438d-4932-a2f0-d0f2bb2fadc9}
MICore
@@ -348,20 +270,15 @@
vscode
-
- true
-
-
+
+
+
+
-
-
-
-
-
\ No newline at end of file
diff --git a/src/MIDebugPackage/packages.config b/src/MIDebugPackage/packages.config
deleted file mode 100644
index 0f3ef5219..000000000
--- a/src/MIDebugPackage/packages.config
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/MIDebugPackage/packages.props b/src/MIDebugPackage/packages.props
deleted file mode 100644
index 5bb878e8b..000000000
--- a/src/MIDebugPackage/packages.props
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
- 15.0.26606
- 15.0.26606
- 15.3.20
- 15.0.26606
-
-
-
\ No newline at end of file
diff --git a/src/MakePIAPortable/MakePIAPortable.csproj b/src/MakePIAPortable/MakePIAPortable.csproj
index 34b734c2a..484c78b7c 100644
--- a/src/MakePIAPortable/MakePIAPortable.csproj
+++ b/src/MakePIAPortable/MakePIAPortable.csproj
@@ -1,21 +1,16 @@
-
-
-
-
+
-
- Debug
+ Desktop.Debug
AnyCPU
{114039A0-87B5-425B-90C9-6AFC1960A247}
Exe
MakePIAPortable
MakePIAPortable
- v4.6.2
+ net462
512
true
true
- true
$(MIDefaultOutputPath)\PIA
Exe
$(OutputPath)\drop\
@@ -37,25 +32,13 @@
4
true
-
-
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.10.0.dll
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.11.0.dll
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.12.0.dll
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.15.0.15.8.28010/lib/net20/Microsoft.VisualStudio.Debugger.Interop.15.0.dll
-
+
+
+
+
+
+
@@ -90,16 +73,11 @@
-
-
-
Always
-
-
\ No newline at end of file
diff --git a/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj b/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj
index 6fe46c0a7..40dbe97ea 100644
--- a/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj
+++ b/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj
@@ -1,9 +1,5 @@
-
-
-
+
-
-
Debug
AnyCPU
@@ -19,7 +15,7 @@
pdbonly
true
false
- v4.6.2
+ net462
false
@@ -57,21 +53,16 @@
AnyCPU
prompt
-
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll
-
-
-
-
-
+
+
+
+
+
ReferenceAssemblies
-
+
-
\ No newline at end of file
diff --git a/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj b/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj
index 543e7fe4a..e7cb2d91c 100644
--- a/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj
+++ b/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj
@@ -1,9 +1,5 @@
-
-
-
+
-
-
14.0
Debug
@@ -25,7 +21,7 @@
pdbonly
true
false
- v4.6.2
+ net462
false
@@ -63,25 +59,21 @@
AnyCPU
prompt
-
-
-
-
-
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll
-
+
+
+
+
+
ReferenceAssemblies
+
-
+
-
+
-
14.0
Desktop.Debug
@@ -12,7 +8,6 @@
OpenDebugAD7
OpenDebugAD7
..\
- true
Properties
en-US
512
@@ -22,7 +17,7 @@
$(MIDefaultOutputPath)\vscode
Exe
vscode
- v4.6.2
+ net462
App.VSCode.config
App.VS.config
@@ -76,86 +71,18 @@
4
false
-
-
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.OLE.Interop.16.7.30328.74/lib/net45/Microsoft.VisualStudio.OLE.Interop.dll
- true
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll
- true
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.10.0.dll
- true
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.11.0.dll
- true
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.12.0.dll
- true
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.15.0.15.8.28010/lib/net20/Microsoft.VisualStudio.Debugger.Interop.15.0.dll
- true
-
-
-
- $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Shared.VsCodeDebugProtocol.16.7.40526.2/lib/net45/Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.dll
- true
-
-
- $(NuGetPackagesDirectory)\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll
- true
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- AD7Resources.resx
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
- ResXFileCodeGenerator
- AD7Resources.Designer.cs
-
-
-
+
+
{81de2423-fb5e-4069-b3c5-4c13ce76dc0a}
DebugEngineHost.VSCode
@@ -166,15 +93,16 @@
True
-
+
+
-
+
-
+
@@ -196,9 +124,7 @@
PreserveNewest
-
-
diff --git a/src/OpenDebugAD7/packages.config b/src/OpenDebugAD7/packages.config
deleted file mode 100644
index 8ad551833..000000000
--- a/src/OpenDebugAD7/packages.config
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SSHDebugPS/SSHDebugPS.csproj b/src/SSHDebugPS/SSHDebugPS.csproj
index 7ef6ba3ce..52b455659 100644
--- a/src/SSHDebugPS/SSHDebugPS.csproj
+++ b/src/SSHDebugPS/SSHDebugPS.csproj
@@ -1,9 +1,5 @@
-
-
-
+
-
-
Debug
AnyCPU
@@ -16,201 +12,90 @@
512
{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
$(MIDefaultOutputPath)
- v4.6.2
-
-
- true
- full
- false
- $(DefineConstants);DEBUG;TRACE
- prompt
- 4
- true
-
-
- pdbonly
- true
- $(DefineConstants);TRACE
- prompt
- 4
- true
-
-
- true
- $(DefineConstants);DEBUG;TRACE
- full
- AnyCPU
- prompt
- true
-
-
- $(DefineConstants);TRACE
- true
- pdbonly
- AnyCPU
- prompt
+ net462
+ true
true
+
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+ compile
+ all
+
+
+
+ compile
+ all
+
+
+
+
+
+
+
+
+
$(GeneratedAssembliesDir)liblinux.dll
False
-
- $(NuGetPackagesDirectory)\Microsoft.VisualStudio.ImageCatalog.$(Microsoft_VisualStudio_Shell_15_0_Version)\lib\net45\Microsoft.VisualStudio.ImageCatalog.dll
- False
-
-
- $(NuGetPackagesDirectory)\Microsoft.VisualStudio.Imaging.$(Microsoft_VisualStudio_Shell_15_0_Version)\lib\net45\Microsoft.VisualStudio.Imaging.dll
- False
-
$(GeneratedAssembliesDir)Microsoft.VisualStudio.Linux.ConnectionManager.Contracts.dll
False
-
- False
-
-
- False
-
-
- $(NuGetPackagesDirectory)\EnvDTE.8.0.2\lib\net10\EnvDTE.dll
- False
-
-
- False
-
-
- $(NuGetPackagesDirectory)\Microsoft.VisualStudio.Shell.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.Shell.Interop.8.0.dll
- False
-
-
- True
-
-
- False
-
-
- False
-
-
- ..\packages\Microsoft.VisualStudio.Utilities.15.0.26606\lib\net45\Microsoft.VisualStudio.Utilities.dll
-
-
-
-
- $(NuGetPackagesDirectory)/Newtonsoft.Json.6.0.8/lib/portable-net45+wp80+win8+wpa81+aspnetcore50/Newtonsoft.Json.dll
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ContainerPickerDialogWindow.xaml
-
-
-
-
-
-
- True
- True
- UIResources.resx
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- True
- True
- StringResources.resx
-
-
-
-
-
-
+
Always
-
-
- PublicResXFileCodeGenerator
- UIResources.Designer.cs
- Microsoft.SSHDebugPS
- Designer
-
-
- ResXFileCodeGenerator
- StringResources.Designer.cs
- Designer
-
-
-
+
+
{ea876a2d-ab0f-4204-97dd-dfb3b5568978}
DebugEngineHost.Stub
@@ -227,17 +112,6 @@
False
-
-
- Designer
- MSBuild:Compile
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/SSHDebugPS/packages.config b/src/SSHDebugPS/packages.config
deleted file mode 100644
index 50a34dd53..000000000
--- a/src/SSHDebugPS/packages.config
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/SSHDebugTests/SSHDebugUnitTests.csproj b/src/SSHDebugTests/SSHDebugUnitTests.csproj
index 93e122174..d346a894e 100644
--- a/src/SSHDebugTests/SSHDebugUnitTests.csproj
+++ b/src/SSHDebugTests/SSHDebugUnitTests.csproj
@@ -1,5 +1,4 @@
-
-
+
Debug
@@ -9,7 +8,7 @@
Properties
SSHDebugTests
SSHDebugTests
- v4.6.2
+ net462
512
{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
10.0
@@ -52,53 +51,25 @@
prompt
true
-
-
+
+
+
+ compile
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
{15bcbef4-1c2b-412b-925b-34a049097e62}
SSHDebugPS
+
+ {ea876a2d-ab0f-4204-97dd-dfb3b5568978}
+ DebugEngineHost.Stub
+ False
+
-
-
-
-
- False
-
-
- False
-
-
- False
-
-
- False
-
-
-
-
-
-
+
+
-
14.0
Desktop.Debug
@@ -12,7 +8,6 @@
WindowsDebugLauncher
WindowsDebugLauncher
..\
- true
Properties
en-US
512
@@ -20,7 +15,7 @@
Program
$(MIDefaultOutputPath)\vscode
vscode
- v4.6.2
+ net462
Exe
@@ -40,26 +35,23 @@
4
true
-
-
-
+
+
+
+
-
-
-
-
+
-
+
-
diff --git a/src/prebuild/packages.config b/src/prebuild/packages.config
deleted file mode 100644
index c604f5800..000000000
--- a/src/prebuild/packages.config
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/prebuild/prebuild.csproj b/src/prebuild/prebuild.csproj
deleted file mode 100755
index d2d025a13..000000000
--- a/src/prebuild/prebuild.csproj
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {95C0421F-D4C1-46E8-9177-6DAA4D71D0F2}
- false
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
-
-
- "$(windir)\Microsoft.NET\Framework\v4.0.30319\ilasm.exe"
- $(IlAsmFlags) /DLL /quiet
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file