diff --git a/README.md b/README.md
index e7d2a654ad..2dd36df9c7 100644
--- a/README.md
+++ b/README.md
@@ -80,13 +80,9 @@ targeting pack is needed, please [open a new issue](#filing-issues) to discuss.
## Vulnerable Packages
-CVEs may exist for reference packages included in this repo. If they are mitigated by a newer version, the newer version should be added, the vulnerable version should be removed, and references to the vulnerable package within other reference
-packages should be upgraded. A comment should be added to indicate when packages were manually upgraded.
-
-``` xml
-
-
-```
+CVEs may exist for reference packages included in this repo. Because the packages do not contain any
+implementation, they do not pose a security risk. CG is configured in this repo to ignore the reference
+packages. If product repos migrate off these vulnerable packages, they can be [removed](#cleanup).
## Filing Issues
diff --git a/azure-pipelines/builds/ci-public.yml b/azure-pipelines/builds/ci-public.yml
new file mode 100644
index 0000000000..5dc2dd7f17
--- /dev/null
+++ b/azure-pipelines/builds/ci-public.yml
@@ -0,0 +1,20 @@
+trigger:
+ batch: true
+ branches:
+ include:
+ - main
+ - release/*
+
+pr:
+ branches:
+ include:
+ - main
+ - release/*
+
+variables:
+- template: /azure-pipelines/templates/variables/common.yml
+
+stages:
+- template: /azure-pipelines/templates/stages/build.yml
+ parameters:
+ engCommonTemplatesDir: ${{ variables.EngCommonTemplatesDir }}
diff --git a/azure-pipelines/builds/ci.yml b/azure-pipelines/builds/ci.yml
index 917d634adb..0f527e759b 100644
--- a/azure-pipelines/builds/ci.yml
+++ b/azure-pipelines/builds/ci.yml
@@ -12,36 +12,30 @@ pr:
- release/*
variables:
- - name: Codeql.Enabled
- value: true
+- template: /azure-pipelines/templates/variables/common.yml
-stages:
-- stage: build
- displayName: Build
- jobs:
- - template: /eng/common/templates/jobs/jobs.yml
- parameters:
- enablePublishUsingPipelines: true
- enablePublishBuildArtifacts: true
- enablePublishBuildAssets: true
- publishAssetsImmediately: true
- artifacts:
- publish:
- artifacts: true
- manifests: true
- enableSourceBuild: true
- - template: /azure-pipelines/builds/generatescript-tests.yml
- parameters:
- buildConfiguration: Debug
-
-# Based on - https://github.com/dotnet/arcade/blob/9b3f304c7bc9fd4d11be9ca0b466b83e98d2a191/Documentation/CorePackages/Publishing.md#moving-away-from-the-legacy-pushtoblobfeed-task
-- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - template: /eng/common/templates/post-build/post-build.yml
- parameters:
- publishingInfraVersion: 3
- publishAssetsImmediately: true
- enableSourceLinkValidation: false
- #Nuget and Signing Validation are not needed as we only produce a transport package.
- enableSigningValidation: false
- enableNugetValidation: false
+resources:
+ repositories:
+ - repository: MicroBuildTemplate
+ type: git
+ name: 1ESPipelineTemplates/MicroBuildTemplate
+ ref: refs/tags/release
+extends:
+ template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
+ parameters:
+ sdl:
+ sourceAnalysisPool:
+ name: $(DncEngInternalBuildPool)
+ image: 1es-windows-2022
+ os: windows
+ pool:
+ name: $(DncEngInternalBuildPool)
+ image: 1es-ubuntu-2204
+ os: linux
+ customBuildTags:
+ - ES365AIMigrationTooling
+ stages:
+ - template: /azure-pipelines/templates/stages/build.yml
+ parameters:
+ engCommonTemplatesDir: ${{ variables.EngCommonTemplatesDir }}
diff --git a/azure-pipelines/builds/generatescript-tests.yml b/azure-pipelines/builds/generatescript-tests.yml
deleted file mode 100644
index 842fb2eb14..0000000000
--- a/azure-pipelines/builds/generatescript-tests.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-parameters:
-- name: buildConfiguration
- type: string
- values:
- - Debug
- - Release
-
-jobs:
-- job:
- strategy:
- matrix:
- Windows_NT:
- agentOs: Windows_NT
- imageName: "windows-latest"
- Linux:
- agentOs: Linux
- imageName: "ubuntu-latest"
- pool:
- vmImage: $(imageName)
-
- steps:
- - checkout: self
- clean: true
- - script: $(Build.SourcesDirectory)/test.cmd
- displayName: Windows NT GenerateScript Tests
- condition: eq(variables.agentOs, 'Windows_NT')
- - script: $(Build.SourcesDirectory)/test.sh
- displayName: Linux GenerateScript Tests
- condition: eq(variables.agentOs, 'Linux')
- - task: PublishTestResults@2
- displayName: Publish Test Results
- inputs:
- testRunner: xUnit
- testResultsFiles: 'artifacts/TestResults/${{ parameters.buildConfiguration }}/*.xml'
- testRunTitle: '$(agentOs)_GenerateScript_tests'
- configuration: '${{ parameters.buildConfiguration }}'
- condition: always()
\ No newline at end of file
diff --git a/azure-pipelines/templates/jobs/generatescript-tests.yml b/azure-pipelines/templates/jobs/generatescript-tests.yml
new file mode 100644
index 0000000000..2b46fb714e
--- /dev/null
+++ b/azure-pipelines/templates/jobs/generatescript-tests.yml
@@ -0,0 +1,36 @@
+parameters:
+- name: imageOs
+ type: string
+ values:
+ - linux
+ - windows
+- name: imageName
+ type: string
+
+jobs:
+- job:
+ displayName: Run Tests (${{ parameters.imageOs }})
+ pool:
+ ${{ if eq(variables['System.TeamProject'], 'public') }}:
+ name: $(DncEngPublicBuildPool)
+ ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ name: $(DncEngInternalBuildPool)
+ image: ${{ parameters.imageName }}
+ os: ${{ parameters.imageOs }}
+ steps:
+ - checkout: self
+ clean: true
+ - ${{ if eq(parameters.imageOs, 'windows') }}:
+ - script: $(Build.SourcesDirectory)/test.cmd
+ displayName: Windows NT GenerateScript Tests
+ - ${{ if eq(parameters.imageOs, 'linux') }}:
+ - script: $(Build.SourcesDirectory)/test.sh
+ displayName: Linux GenerateScript Tests
+ - task: PublishTestResults@2
+ displayName: Publish Test Results
+ inputs:
+ testRunner: xUnit
+ testResultsFiles: 'artifacts/TestResults/Debug/*.xml'
+ testRunTitle: '$(imageOs)_GenerateScript_tests'
+ configuration: Debug
+ condition: always()
diff --git a/azure-pipelines/templates/stages/build.yml b/azure-pipelines/templates/stages/build.yml
new file mode 100644
index 0000000000..ce5019b4b6
--- /dev/null
+++ b/azure-pipelines/templates/stages/build.yml
@@ -0,0 +1,46 @@
+parameters:
+ engCommonTemplatesDir: ''
+
+stages:
+- stage: build
+ displayName: Build
+ jobs:
+ - template: ${{ parameters.engCommonTemplatesDir }}/jobs/jobs.yml
+ parameters:
+ enablePublishUsingPipelines: true
+ enablePublishBuildArtifacts: true
+ enablePublishBuildAssets: true
+ publishAssetsImmediately: true
+ artifacts:
+ publish:
+ artifacts: true
+ manifests: true
+ enableSourceBuild: true
+ sourceBuildParameters:
+ cgIgnoreDirectories:
+ - src/referencePackages
+ - artifacts/source-build/self
+ - template: /azure-pipelines/templates/jobs/generatescript-tests.yml
+ parameters:
+ imageOs: windows
+ ${{ if eq(variables['System.TeamProject'], 'public') }}:
+ imageName: 1es-windows-2022-open
+ ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ imageName: 1es-windows-2022
+ - template: /azure-pipelines/templates/jobs/generatescript-tests.yml
+ parameters:
+ imageOs: linux
+ ${{ if eq(variables['System.TeamProject'], 'public') }}:
+ imageName: Build.Ubuntu.2204.Amd64.Open
+ ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ imageName: 1es-ubuntu-2204
+# Based on - https://github.com/dotnet/arcade/blob/9b3f304c7bc9fd4d11be9ca0b466b83e98d2a191/Documentation/CorePackages/Publishing.md#moving-away-from-the-legacy-pushtoblobfeed-task
+- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - template: ${{ parameters.engCommonTemplatesDir }}/post-build/post-build.yml
+ parameters:
+ publishingInfraVersion: 3
+ publishAssetsImmediately: true
+ enableSourceLinkValidation: false
+ #Nuget and Signing Validation are not needed as we only produce a transport package.
+ enableSigningValidation: false
+ enableNugetValidation: false
diff --git a/azure-pipelines/templates/variables/common.yml b/azure-pipelines/templates/variables/common.yml
new file mode 100644
index 0000000000..ff7a37e99a
--- /dev/null
+++ b/azure-pipelines/templates/variables/common.yml
@@ -0,0 +1,11 @@
+variables:
+- name: EngCommonTemplatesDir
+ ${{ if eq(variables['System.TeamProject'], 'public') }}:
+ value: /eng/common/templates
+ ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ value: /eng/common/templates-official
+- template: ${{ variables.EngCommonTemplatesDir }}/variables/pool-providers.yml@self
+- name: Codeql.Enabled
+ value: true
+- name: TeamName
+ value: DotNetSourceBuild
diff --git a/eng/Build.props b/eng/Build.props
index 9ed016548e..133e146d2d 100644
--- a/eng/Build.props
+++ b/eng/Build.props
@@ -24,14 +24,6 @@
Format:
-->
-
-
-
-
-
-
-
-
diff --git a/eng/SourceBuildPrebuiltBaseline.xml b/eng/SourceBuildPrebuiltBaseline.xml
index bc7a337746..db996ebe83 100644
--- a/eng/SourceBuildPrebuiltBaseline.xml
+++ b/eng/SourceBuildPrebuiltBaseline.xml
@@ -7,6 +7,10 @@
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 95696f4145..41f8478255 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,19 +1,19 @@
-
+
https://github.com/dotnet/source-build-externals
- 33edde07d61cf7606d76ada765335fb81f1cbb71
+ 3dc05150cf234f76f6936dcb2853d31a0da1f60e
-
+
https://github.com/dotnet/source-build-reference-packages
- 529fbc2aad419d0c1551d6685cc68be33e62a996
+ 30ed464acd37779c64e9dc652d4460543ebf9966
-
+
https://github.com/dotnet/arcade
- 4665b3d04e1da3796b965c3c3e3b97f55c449a6e
+ ea77ace912db0e1cf28f199cb456b27fe311635e
diff --git a/eng/Versions.props b/eng/Versions.props
index 22055d7886..ecfac02120 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -15,10 +15,11 @@
15.6.82
$(MicrosoftBuildVersion)
- 6.7.0
+ 6.7.1
6.0.0-preview.6.21352.12
6.0.0-preview.6.21352.12
+ 6.0.1
8.0.100-rc.2.23460.8
diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1
index 6c65e81925..59b2d55e1a 100644
--- a/eng/common/SetupNugetSources.ps1
+++ b/eng/common/SetupNugetSources.ps1
@@ -17,8 +17,8 @@
# displayName: Setup Private Feeds Credentials
# condition: eq(variables['Agent.OS'], 'Windows_NT')
# inputs:
-# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
-# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
+# filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.ps1
+# arguments: -ConfigFile $(System.DefaultWorkingDirectory)/NuGet.config -Password $Env:Token
# env:
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
@@ -35,7 +35,7 @@ Set-StrictMode -Version 2.0
. $PSScriptRoot\tools.ps1
# Add source entry to PackageSources
-function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $Password) {
+function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $pwd) {
$packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
if ($packageSource -eq $null)
@@ -48,12 +48,11 @@ function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Usern
else {
Write-Host "Package source $SourceName already present."
}
-
- AddCredential -Creds $creds -Source $SourceName -Username $Username -Password $Password
+ AddCredential -Creds $creds -Source $SourceName -Username $Username -pwd $pwd
}
# Add a credential node for the specified source
-function AddCredential($creds, $source, $username, $password) {
+function AddCredential($creds, $source, $username, $pwd) {
# Looks for credential configuration for the given SourceName. Create it if none is found.
$sourceElement = $creds.SelectSingleNode($Source)
if ($sourceElement -eq $null)
@@ -82,17 +81,18 @@ function AddCredential($creds, $source, $username, $password) {
$passwordElement.SetAttribute("key", "ClearTextPassword")
$sourceElement.AppendChild($passwordElement) | Out-Null
}
- $passwordElement.SetAttribute("value", $Password)
+
+ $passwordElement.SetAttribute("value", $pwd)
}
-function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $Password) {
+function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $pwd) {
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
ForEach ($PackageSource in $maestroPrivateSources) {
Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key
- AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -Password $Password
+ AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -pwd $pwd
}
}
@@ -144,13 +144,13 @@ if ($disabledSources -ne $null) {
$userName = "dn-bot"
# Insert credential nodes for Maestro's private feeds
-InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -Password $Password
+InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -pwd $Password
# 3.1 uses a different feed url format so it's handled differently here
$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
if ($dotnet31Source -ne $null) {
- AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
- AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
+ AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password
+ AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password
}
$dotnetVersions = @('5','6','7','8')
@@ -159,9 +159,9 @@ foreach ($dotnetVersion in $dotnetVersions) {
$feedPrefix = "dotnet" + $dotnetVersion;
$dotnetSource = $sources.SelectSingleNode("add[@key='$feedPrefix']")
if ($dotnetSource -ne $null) {
- AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
- AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
+ AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal/nuget/v2" -Creds $creds -Username $userName -pwd $Password
+ AddPackageSource -Sources $sources -SourceName "$feedPrefix-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/internal/_packaging/$feedPrefix-internal-transport/nuget/v2" -Creds $creds -Username $userName -pwd $Password
}
}
-$doc.Save($filename)
+$doc.Save($filename)
\ No newline at end of file
diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh
index d387c7eac9..c0e7bbef21 100644
--- a/eng/common/SetupNugetSources.sh
+++ b/eng/common/SetupNugetSources.sh
@@ -18,8 +18,8 @@
# - task: Bash@3
# displayName: Setup Private Feeds Credentials
# inputs:
-# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
-# arguments: $(Build.SourcesDirectory)/NuGet.config $Token
+# filePath: $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh
+# arguments: $(System.DefaultWorkingDirectory)/NuGet.config $Token
# condition: ne(variables['Agent.OS'], 'Windows_NT')
# env:
# Token: $(dn-bot-dnceng-artifact-feeds-rw)
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index 0998e875e5..f93dc440df 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -40,7 +40,7 @@ if(TARGET_ARCH_NAME STREQUAL "arm")
set(TOOLCHAIN "arm-linux-gnueabihf")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7hl-tizen-linux-gnueabihf")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
set(CMAKE_SYSTEM_PROCESSOR aarch64)
@@ -49,7 +49,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
elseif(LINUX)
set(TOOLCHAIN "aarch64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "aarch64-unknown-freebsd12")
@@ -58,7 +58,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
+ set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "armv6")
set(CMAKE_SYSTEM_PROCESSOR armv6l)
@@ -95,7 +95,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
elseif(LINUX)
set(TOOLCHAIN "x86_64-linux-gnu")
if(TIZEN)
- set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "x86_64-tizen-linux-gnu")
endif()
elseif(FREEBSD)
set(triple "x86_64-unknown-freebsd12")
@@ -112,7 +112,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(TOOLCHAIN "i686-linux-gnu")
endif()
if(TIZEN)
- set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu/9.2.0")
+ set(TIZEN_TOOLCHAIN "i586-tizen-linux-gnu")
endif()
else()
message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only arm, arm64, armel, armv6, ppc64le, riscv64, s390x, x64 and x86 are supported!")
@@ -124,26 +124,25 @@ endif()
# Specify include paths
if(TIZEN)
- if(TARGET_ARCH_NAME STREQUAL "arm")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7hl-tizen-linux-gnueabihf)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "armel")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "arm64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/aarch64-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x86")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/i586-tizen-linux-gnu)
- endif()
- if(TARGET_ARCH_NAME STREQUAL "x64")
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}/include/c++/x86_64-tizen-linux-gnu)
+ function(find_toolchain_dir prefix)
+ # Dynamically find the version subdirectory
+ file(GLOB DIRECTORIES "${prefix}/*")
+ list(GET DIRECTORIES 0 FIRST_MATCH)
+ get_filename_component(TOOLCHAIN_VERSION ${FIRST_MATCH} NAME)
+
+ set(TIZEN_TOOLCHAIN_PATH "${prefix}/${TOOLCHAIN_VERSION}" PARENT_SCOPE)
+ endfunction()
+
+ if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ else()
+ find_toolchain_dir("${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
endif()
+
+ message(STATUS "TIZEN_TOOLCHAIN_PATH set to: ${TIZEN_TOOLCHAIN_PATH}")
+
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++)
+ include_directories(SYSTEM ${TIZEN_TOOLCHAIN_PATH}/include/c++/${TIZEN_TOOLCHAIN})
endif()
if(ANDROID)
@@ -265,22 +264,24 @@ endif()
if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64")
- add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-Wl,--rpath-link=${TIZEN_TOOLCHAIN_PATH}")
endif()
+elseif(TARGET_ARCH_NAME STREQUAL "s390x")
+ add_toolchain_linker_flag("--target=${TOOLCHAIN}")
elseif(TARGET_ARCH_NAME STREQUAL "x86")
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
add_toolchain_linker_flag("--target=${TOOLCHAIN}")
@@ -288,10 +289,10 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
endif()
add_toolchain_linker_flag(-m32)
if(TIZEN)
- add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-B${TIZEN_TOOLCHAIN_PATH}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
- add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
+ add_toolchain_linker_flag("-L${TIZEN_TOOLCHAIN_PATH}")
endif()
elseif(ILLUMOS)
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
@@ -328,6 +329,8 @@ if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
if(TARGET_ARCH_NAME STREQUAL "armel")
add_compile_options(-mfloat-abi=softfp)
endif()
+elseif(TARGET_ARCH_NAME STREQUAL "s390x")
+ add_compile_options("--target=${TOOLCHAIN}")
elseif(TARGET_ARCH_NAME STREQUAL "x86")
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/i586-alpine-linux-musl)
add_compile_options(--target=${TOOLCHAIN})
diff --git a/eng/common/darc-init.ps1 b/eng/common/darc-init.ps1
index 435e764134..8fda30bdce 100644
--- a/eng/common/darc-init.ps1
+++ b/eng/common/darc-init.ps1
@@ -1,6 +1,6 @@
param (
$darcVersion = $null,
- $versionEndpoint = 'https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16',
+ $versionEndpoint = 'https://maestro.dot.net/api/assets/darc-version?api-version=2019-01-16',
$verbosity = 'minimal',
$toolpath = $null
)
diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh
index 84c1d0cc2e..c305ae6bd7 100755
--- a/eng/common/darc-init.sh
+++ b/eng/common/darc-init.sh
@@ -2,7 +2,7 @@
source="${BASH_SOURCE[0]}"
darcVersion=''
-versionEndpoint='https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16'
+versionEndpoint='https://maestro.dot.net/api/assets/darc-version?api-version=2019-01-16'
verbosity='minimal'
while [[ $# > 0 ]]; do
diff --git a/eng/common/generate-sbom-prep.ps1 b/eng/common/generate-sbom-prep.ps1
index 3e5c1c74a1..a0c7d792a7 100644
--- a/eng/common/generate-sbom-prep.ps1
+++ b/eng/common/generate-sbom-prep.ps1
@@ -4,18 +4,26 @@ Param(
. $PSScriptRoot\pipeline-logging-functions.ps1
+# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly
+# with their own overwriting ours. So we create it as a sub directory of the requested manifest path.
+$ArtifactName = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM"
+$SafeArtifactName = $ArtifactName -replace '["/:<>\\|?@*"() ]', '_'
+$SbomGenerationDir = Join-Path $ManifestDirPath $SafeArtifactName
+
+Write-Host "Artifact name before : $ArtifactName"
+Write-Host "Artifact name after : $SafeArtifactName"
+
Write-Host "Creating dir $ManifestDirPath"
+
# create directory for sbom manifest to be placed
-if (!(Test-Path -path $ManifestDirPath))
+if (!(Test-Path -path $SbomGenerationDir))
{
- New-Item -ItemType Directory -path $ManifestDirPath
- Write-Host "Successfully created directory $ManifestDirPath"
+ New-Item -ItemType Directory -path $SbomGenerationDir
+ Write-Host "Successfully created directory $SbomGenerationDir"
}
else{
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder."
}
Write-Host "Updating artifact name"
-$artifact_name = "${env:SYSTEM_STAGENAME}_${env:AGENT_JOBNAME}_SBOM" -replace '["/:<>\\|?@*"() ]', '_'
-Write-Host "Artifact name $artifact_name"
-Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$artifact_name"
+Write-Host "##vso[task.setvariable variable=ARTIFACT_NAME]$SafeArtifactName"
diff --git a/eng/common/generate-sbom-prep.sh b/eng/common/generate-sbom-prep.sh
index d5c76dc827..bbb4922151 100644
--- a/eng/common/generate-sbom-prep.sh
+++ b/eng/common/generate-sbom-prep.sh
@@ -14,19 +14,24 @@ done
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
. $scriptroot/pipeline-logging-functions.sh
+# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts.
+artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM"
+safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}"
+
manifest_dir=$1
-if [ ! -d "$manifest_dir" ] ; then
- mkdir -p "$manifest_dir"
- echo "Sbom directory created." $manifest_dir
+# Normally - we'd listen to the manifest path given, but 1ES templates will overwrite if this level gets uploaded directly
+# with their own overwriting ours. So we create it as a sub directory of the requested manifest path.
+sbom_generation_dir="$manifest_dir/$safe_artifact_name"
+
+if [ ! -d "$sbom_generation_dir" ] ; then
+ mkdir -p "$sbom_generation_dir"
+ echo "Sbom directory created." $sbom_generation_dir
else
Write-PipelineTelemetryError -category 'Build' "Unable to create sbom folder."
fi
-artifact_name=$SYSTEM_STAGENAME"_"$AGENT_JOBNAME"_SBOM"
echo "Artifact name before : "$artifact_name
-# replace all special characters with _, some builds use special characters like : in Agent.Jobname, that is not a permissible name while uploading artifacts.
-safe_artifact_name="${artifact_name//["/:<>\\|?@*$" ]/_}"
echo "Artifact name after : "$safe_artifact_name
export ARTIFACT_NAME=$safe_artifact_name
echo "##vso[task.setvariable variable=ARTIFACT_NAME]$safe_artifact_name"
diff --git a/eng/common/native/init-compiler.sh b/eng/common/native/init-compiler.sh
index f5c1ec7eaf..2d5660642b 100644
--- a/eng/common/native/init-compiler.sh
+++ b/eng/common/native/init-compiler.sh
@@ -63,7 +63,7 @@ if [ -z "$CLR_CC" ]; then
# Set default versions
if [ -z "$majorVersion" ]; then
# note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero.
- if [ "$compiler" = "clang" ]; then versions="17 16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5"
+ if [ "$compiler" = "clang" ]; then versions="18 17 16 15 14 13 12 11 10 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5"
elif [ "$compiler" = "gcc" ]; then versions="13 12 11 10 9 8 7 6 5 4.9"; fi
for version in $versions; do
diff --git a/eng/common/post-build/add-build-to-channel.ps1 b/eng/common/post-build/add-build-to-channel.ps1
index de2d957922..49938f0c89 100644
--- a/eng/common/post-build/add-build-to-channel.ps1
+++ b/eng/common/post-build/add-build-to-channel.ps1
@@ -2,7 +2,7 @@ param(
[Parameter(Mandatory=$true)][int] $BuildId,
[Parameter(Mandatory=$true)][int] $ChannelId,
[Parameter(Mandatory=$true)][string] $MaestroApiAccessToken,
- [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
+ [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro.dot.net',
[Parameter(Mandatory=$false)][string] $MaestroApiVersion = '2019-01-16'
)
diff --git a/eng/common/post-build/publish-using-darc.ps1 b/eng/common/post-build/publish-using-darc.ps1
index 8508397d77..238945cb5a 100644
--- a/eng/common/post-build/publish-using-darc.ps1
+++ b/eng/common/post-build/publish-using-darc.ps1
@@ -2,8 +2,7 @@ param(
[Parameter(Mandatory=$true)][int] $BuildId,
[Parameter(Mandatory=$true)][int] $PublishingInfraVersion,
[Parameter(Mandatory=$true)][string] $AzdoToken,
- [Parameter(Mandatory=$true)][string] $MaestroToken,
- [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
+ [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro.dot.net',
[Parameter(Mandatory=$true)][string] $WaitPublishingFinish,
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters
@@ -12,7 +11,7 @@ param(
try {
. $PSScriptRoot\post-build-utils.ps1
- $darc = Get-Darc
+ $darc = Get-Darc
$optionalParams = [System.Collections.ArrayList]::new()
@@ -31,13 +30,13 @@ try {
}
& $darc add-build-to-channel `
- --id $buildId `
- --publishing-infra-version $PublishingInfraVersion `
- --default-channels `
- --source-branch main `
- --azdev-pat $AzdoToken `
- --bar-uri $MaestroApiEndPoint `
- --password $MaestroToken `
+ --id $buildId `
+ --publishing-infra-version $PublishingInfraVersion `
+ --default-channels `
+ --source-branch main `
+ --azdev-pat "$AzdoToken" `
+ --bar-uri "$MaestroApiEndPoint" `
+ --ci `
@optionalParams
if ($LastExitCode -ne 0) {
@@ -46,7 +45,7 @@ try {
}
Write-Host 'done.'
-}
+}
catch {
Write-Host $_
Write-PipelineTelemetryError -Category 'PromoteBuild' -Message "There was an error while trying to publish build '$BuildId' to default channels."
diff --git a/eng/common/post-build/trigger-subscriptions.ps1 b/eng/common/post-build/trigger-subscriptions.ps1
index 55dea518ac..ac9a95778f 100644
--- a/eng/common/post-build/trigger-subscriptions.ps1
+++ b/eng/common/post-build/trigger-subscriptions.ps1
@@ -2,7 +2,7 @@ param(
[Parameter(Mandatory=$true)][string] $SourceRepo,
[Parameter(Mandatory=$true)][int] $ChannelId,
[Parameter(Mandatory=$true)][string] $MaestroApiAccessToken,
- [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
+ [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro.dot.net',
[Parameter(Mandatory=$false)][string] $MaestroApiVersion = '2019-01-16'
)
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
index 6c4ac6fec1..4f0546dce1 100644
--- a/eng/common/sdk-task.ps1
+++ b/eng/common/sdk-task.ps1
@@ -64,7 +64,7 @@ try {
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.5`" }") -MemberType NoteProperty
}
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
- $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.6.0-2" -MemberType NoteProperty
+ $GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "17.12.0" -MemberType NoteProperty
}
if ($GlobalJson.tools."xcopy-msbuild".Trim() -ine "none") {
$xcopyMSBuildToolsFolder = InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
diff --git a/eng/common/sdl/NuGet.config b/eng/common/sdl/NuGet.config
index 3849bdb3cf..5bfbb02ef0 100644
--- a/eng/common/sdl/NuGet.config
+++ b/eng/common/sdl/NuGet.config
@@ -5,11 +5,11 @@
-
+
-
+
diff --git a/eng/common/sdl/execute-all-sdl-tools.ps1 b/eng/common/sdl/execute-all-sdl-tools.ps1
index 4715d75e97..81ded5b7f4 100644
--- a/eng/common/sdl/execute-all-sdl-tools.ps1
+++ b/eng/common/sdl/execute-all-sdl-tools.ps1
@@ -6,7 +6,6 @@ Param(
[string] $BranchName=$env:BUILD_SOURCEBRANCH, # Optional: name of branch or version of gdn settings; defaults to master
[string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY, # Required: the directory where source files are located
[string] $ArtifactsDirectory = (Join-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY ('artifacts')), # Required: the directory where build artifacts are located
- [string] $AzureDevOpsAccessToken, # Required: access token for dnceng; should be provided via KeyVault
# Optional: list of SDL tools to run on source code. See 'configure-sdl-tool.ps1' for tools list
# format.
@@ -75,7 +74,7 @@ try {
}
Exec-BlockVerbosely {
- & $(Join-Path $PSScriptRoot 'init-sdl.ps1') -GuardianCliLocation $guardianCliLocation -Repository $RepoName -BranchName $BranchName -WorkingDirectory $workingDirectory -AzureDevOpsAccessToken $AzureDevOpsAccessToken -GuardianLoggerLevel $GuardianLoggerLevel
+ & $(Join-Path $PSScriptRoot 'init-sdl.ps1') -GuardianCliLocation $guardianCliLocation -Repository $RepoName -BranchName $BranchName -WorkingDirectory $workingDirectory -GuardianLoggerLevel $GuardianLoggerLevel
}
$gdnFolder = Join-Path $workingDirectory '.gdn'
@@ -104,7 +103,6 @@ try {
-TargetDirectory $targetDirectory `
-GdnFolder $gdnFolder `
-ToolsList $tools `
- -AzureDevOpsAccessToken $AzureDevOpsAccessToken `
-GuardianLoggerLevel $GuardianLoggerLevel `
-CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams `
-PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams `
diff --git a/eng/common/sdl/init-sdl.ps1 b/eng/common/sdl/init-sdl.ps1
index 3ac1d92b37..588ff8e22f 100644
--- a/eng/common/sdl/init-sdl.ps1
+++ b/eng/common/sdl/init-sdl.ps1
@@ -3,7 +3,6 @@ Param(
[string] $Repository,
[string] $BranchName='master',
[string] $WorkingDirectory,
- [string] $AzureDevOpsAccessToken,
[string] $GuardianLoggerLevel='Standard'
)
@@ -21,14 +20,7 @@ $ci = $true
# Don't display the console progress UI - it's a huge perf hit
$ProgressPreference = 'SilentlyContinue'
-# Construct basic auth from AzDO access token; construct URI to the repository's gdn folder stored in that repository; construct location of zip file
-$encodedPat = [Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$AzureDevOpsAccessToken"))
-$escapedRepository = [Uri]::EscapeDataString("/$Repository/$BranchName/.gdn")
-$uri = "https://dev.azure.com/dnceng/internal/_apis/git/repositories/sdl-tool-cfg/Items?path=$escapedRepository&versionDescriptor[versionOptions]=0&`$format=zip&api-version=5.0"
-$zipFile = "$WorkingDirectory/gdn.zip"
-
Add-Type -AssemblyName System.IO.Compression.FileSystem
-$gdnFolder = (Join-Path $WorkingDirectory '.gdn')
try {
# if the folder does not exist, we'll do a guardian init and push it to the remote repository
diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config
index 4585cfd6bb..e5f543ea68 100644
--- a/eng/common/sdl/packages.config
+++ b/eng/common/sdl/packages.config
@@ -1,4 +1,4 @@
-
+
diff --git a/eng/common/sdl/sdl.ps1 b/eng/common/sdl/sdl.ps1
index 648c5068d7..7fe603fe99 100644
--- a/eng/common/sdl/sdl.ps1
+++ b/eng/common/sdl/sdl.ps1
@@ -4,6 +4,8 @@ function Install-Gdn {
[Parameter(Mandatory=$true)]
[string]$Path,
+ [string]$Source = "https://pkgs.dev.azure.com/dnceng/_packaging/Guardian1ESPTUpstreamOrgFeed/nuget/v3/index.json",
+
# If omitted, install the latest version of Guardian, otherwise install that specific version.
[string]$Version
)
@@ -19,7 +21,7 @@ function Install-Gdn {
$ci = $true
. $PSScriptRoot\..\tools.ps1
- $argumentList = @("install", "Microsoft.Guardian.Cli", "-Source https://securitytools.pkgs.visualstudio.com/_packaging/Guardian/nuget/v3/index.json", "-OutputDirectory $Path", "-NonInteractive", "-NoCache")
+ $argumentList = @("install", "Microsoft.Guardian.Cli.win-x64", "-Source $Source", "-OutputDirectory $Path", "-NonInteractive", "-NoCache")
if ($Version) {
$argumentList += "-Version $Version"
diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml
new file mode 100644
index 0000000000..4cca1114fc
--- /dev/null
+++ b/eng/common/templates-official/job/job.yml
@@ -0,0 +1,271 @@
+# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
+# and some (Microbuild) should only be applied to non-PR cases for internal builds.
+
+parameters:
+# Job schema parameters - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job
+ cancelTimeoutInMinutes: ''
+ condition: ''
+ container: ''
+ continueOnError: false
+ dependsOn: ''
+ displayName: ''
+ pool: ''
+ steps: []
+ strategy: ''
+ timeoutInMinutes: ''
+ variables: []
+ workspace: ''
+ templateContext: ''
+
+# Job base template specific parameters
+ # See schema documentation - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/TemplateSchema.md
+ artifacts: ''
+ enableMicrobuild: false
+ microbuildUseESRP: true
+ enablePublishBuildArtifacts: false
+ enablePublishBuildAssets: false
+ enablePublishTestResults: false
+ enablePublishUsingPipelines: false
+ enableBuildRetry: false
+ disableComponentGovernance: ''
+ componentGovernanceIgnoreDirectories: ''
+ mergeTestResults: false
+ testRunTitle: ''
+ testResultsFormat: ''
+ name: ''
+ preSteps: []
+ runAsPublic: false
+# Sbom related params
+ enableSbom: true
+ PackageVersion: 7.0.0
+ BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts'
+ ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom
+
+jobs:
+- job: ${{ parameters.name }}
+
+ ${{ if ne(parameters.cancelTimeoutInMinutes, '') }}:
+ cancelTimeoutInMinutes: ${{ parameters.cancelTimeoutInMinutes }}
+
+ ${{ if ne(parameters.condition, '') }}:
+ condition: ${{ parameters.condition }}
+
+ ${{ if ne(parameters.container, '') }}:
+ container: ${{ parameters.container }}
+
+ ${{ if ne(parameters.continueOnError, '') }}:
+ continueOnError: ${{ parameters.continueOnError }}
+
+ ${{ if ne(parameters.dependsOn, '') }}:
+ dependsOn: ${{ parameters.dependsOn }}
+
+ ${{ if ne(parameters.displayName, '') }}:
+ displayName: ${{ parameters.displayName }}
+
+ ${{ if ne(parameters.pool, '') }}:
+ pool: ${{ parameters.pool }}
+
+ ${{ if ne(parameters.strategy, '') }}:
+ strategy: ${{ parameters.strategy }}
+
+ ${{ if ne(parameters.timeoutInMinutes, '') }}:
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+
+ ${{ if ne(parameters.templateContext, '') }}:
+ templateContext: ${{ parameters.templateContext }}
+
+ variables:
+ - ${{ if ne(parameters.enableTelemetry, 'false') }}:
+ - name: DOTNET_CLI_TELEMETRY_PROFILE
+ value: '$(Build.Repository.Uri)'
+ - ${{ if eq(parameters.enableRichCodeNavigation, 'true') }}:
+ - name: EnableRichCodeNavigation
+ value: 'true'
+ # Retry signature validation up to three times, waiting 2 seconds between attempts.
+ # See https://learn.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu3028#retry-untrusted-root-failures
+ - name: NUGET_EXPERIMENTAL_CHAIN_BUILD_RETRY_POLICY
+ value: 3,2000
+ - ${{ each variable in parameters.variables }}:
+ # handle name-value variable syntax
+ # example:
+ # - name: [key]
+ # value: [value]
+ - ${{ if ne(variable.name, '') }}:
+ - name: ${{ variable.name }}
+ value: ${{ variable.value }}
+
+ # handle variable groups
+ - ${{ if ne(variable.group, '') }}:
+ - group: ${{ variable.group }}
+
+ # handle template variable syntax
+ # example:
+ # - template: path/to/template.yml
+ # parameters:
+ # [key]: [value]
+ - ${{ if ne(variable.template, '') }}:
+ - template: ${{ variable.template }}
+ ${{ if ne(variable.parameters, '') }}:
+ parameters: ${{ variable.parameters }}
+
+ # handle key-value variable syntax.
+ # example:
+ # - [key]: [value]
+ - ${{ if and(eq(variable.name, ''), eq(variable.group, ''), eq(variable.template, '')) }}:
+ - ${{ each pair in variable }}:
+ - name: ${{ pair.key }}
+ value: ${{ pair.value }}
+
+ # DotNet-HelixApi-Access provides 'HelixApiAccessToken' for internal builds
+ - ${{ if and(eq(parameters.enableTelemetry, 'true'), eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - group: DotNet-HelixApi-Access
+
+ ${{ if ne(parameters.workspace, '') }}:
+ workspace: ${{ parameters.workspace }}
+
+ steps:
+ - ${{ if ne(parameters.preSteps, '') }}:
+ - ${{ each preStep in parameters.preSteps }}:
+ - ${{ preStep }}
+
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
+ - task: MicroBuildSigningPlugin@4
+ displayName: Install MicroBuild plugin
+ inputs:
+ signType: $(_SignType)
+ zipSources: false
+ feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ ${{ if eq(parameters.microbuildUseESRP, true) }}:
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
+ ${{ else }}:
+ ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
+ env:
+ TeamName: $(_TeamName)
+ MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)'
+ continueOnError: ${{ parameters.continueOnError }}
+ condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
+
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:
+ - task: NuGetAuthenticate@1
+
+ - ${{ if and(ne(parameters.artifacts.download, 'false'), ne(parameters.artifacts.download, '')) }}:
+ - task: DownloadPipelineArtifact@2
+ inputs:
+ buildType: current
+ artifactName: ${{ coalesce(parameters.artifacts.download.name, 'Artifacts_$(Agent.OS)_$(_BuildConfig)') }}
+ targetPath: ${{ coalesce(parameters.artifacts.download.path, 'artifacts') }}
+ itemPattern: ${{ coalesce(parameters.artifacts.download.pattern, '**') }}
+
+ - ${{ each step in parameters.steps }}:
+ - ${{ step }}
+
+ - ${{ if eq(parameters.enableRichCodeNavigation, true) }}:
+ - task: RichCodeNavIndexer@0
+ displayName: RichCodeNav Upload
+ inputs:
+ languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }}
+ environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'production') }}
+ richNavLogOutputDirectory: $(System.DefaultWorkingDirectory)/artifacts/bin
+ uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }}
+ continueOnError: true
+
+ - template: /eng/common/templates-official/steps/component-governance.yml
+ parameters:
+ ${{ if eq(parameters.disableComponentGovernance, '') }}:
+ ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.runAsPublic, 'false'), or(startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/dotnet/'), startsWith(variables['Build.SourceBranch'], 'refs/heads/microsoft/'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}:
+ disableComponentGovernance: false
+ ${{ else }}:
+ disableComponentGovernance: true
+ ${{ else }}:
+ disableComponentGovernance: ${{ parameters.disableComponentGovernance }}
+ componentGovernanceIgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
+
+ - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - task: MicroBuildCleanup@1
+ displayName: Execute Microbuild cleanup tasks
+ condition: and(always(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
+ continueOnError: ${{ parameters.continueOnError }}
+ env:
+ TeamName: $(_TeamName)
+
+ - ${{ if ne(parameters.artifacts.publish, '') }}:
+ - ${{ if and(ne(parameters.artifacts.publish.artifacts, 'false'), ne(parameters.artifacts.publish.artifacts, '')) }}:
+ - task: CopyFiles@2
+ displayName: Gather binaries for publish to artifacts
+ inputs:
+ SourceFolder: 'artifacts/bin'
+ Contents: '**'
+ TargetFolder: '$(Build.ArtifactStagingDirectory)/artifacts/bin'
+ - task: CopyFiles@2
+ displayName: Gather packages for publish to artifacts
+ inputs:
+ SourceFolder: 'artifacts/packages'
+ Contents: '**'
+ TargetFolder: '$(Build.ArtifactStagingDirectory)/artifacts/packages'
+ - task: 1ES.PublishBuildArtifacts@1
+ displayName: Publish pipeline artifacts
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts'
+ PublishLocation: Container
+ ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}
+ continueOnError: true
+ condition: always()
+ - ${{ if and(ne(parameters.artifacts.publish.logs, 'false'), ne(parameters.artifacts.publish.logs, '')) }}:
+ - task: 1ES.PublishPipelineArtifact@1
+ inputs:
+ targetPath: 'artifacts/log'
+ artifactName: ${{ coalesce(parameters.artifacts.publish.logs.name, 'Logs_Build_$(Agent.Os)_$(_BuildConfig)') }}
+ displayName: 'Publish logs'
+ continueOnError: true
+ condition: always()
+
+ - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}:
+ - task: 1ES.PublishBuildArtifacts@1
+ displayName: Publish Logs
+ inputs:
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/artifacts/log/$(_BuildConfig)'
+ PublishLocation: Container
+ ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }}
+ continueOnError: true
+ condition: always()
+
+ - ${{ if or(and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')), eq(parameters.testResultsFormat, 'xunit')) }}:
+ - task: PublishTestResults@2
+ displayName: Publish XUnit Test Results
+ inputs:
+ testResultsFormat: 'xUnit'
+ testResultsFiles: '*.xml'
+ searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)'
+ testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-xunit
+ mergeTestResults: ${{ parameters.mergeTestResults }}
+ continueOnError: true
+ condition: always()
+ - ${{ if or(and(eq(parameters.enablePublishTestResults, 'true'), eq(parameters.testResultsFormat, '')), eq(parameters.testResultsFormat, 'vstest')) }}:
+ - task: PublishTestResults@2
+ displayName: Publish TRX Test Results
+ inputs:
+ testResultsFormat: 'VSTest'
+ testResultsFiles: '*.trx'
+ searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)'
+ testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-trx
+ mergeTestResults: ${{ parameters.mergeTestResults }}
+ continueOnError: true
+ condition: always()
+
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), eq(parameters.enableSbom, 'true')) }}:
+ - template: /eng/common/templates-official/steps/generate-sbom.yml
+ parameters:
+ PackageVersion: ${{ parameters.packageVersion}}
+ BuildDropPath: ${{ parameters.buildDropPath }}
+ IgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
+
+ - ${{ if eq(parameters.enableBuildRetry, 'true') }}:
+ - task: 1ES.PublishPipelineArtifact@1
+ inputs:
+ targetPath: '$(System.DefaultWorkingDirectory)\eng\common\BuildConfiguration'
+ artifactName: 'BuildConfiguration'
+ displayName: 'Publish build retry configuration'
+ continueOnError: true
diff --git a/eng/common/templates-official/job/onelocbuild.yml b/eng/common/templates-official/job/onelocbuild.yml
new file mode 100644
index 0000000000..68e7a65605
--- /dev/null
+++ b/eng/common/templates-official/job/onelocbuild.yml
@@ -0,0 +1,112 @@
+parameters:
+ # Optional: dependencies of the job
+ dependsOn: ''
+
+ # Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
+ pool: ''
+
+ CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
+ GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
+
+ SourcesDirectory: $(System.DefaultWorkingDirectory)
+ CreatePr: true
+ AutoCompletePr: false
+ ReusePr: true
+ UseLfLineEndings: true
+ UseCheckedInLocProjectJson: false
+ SkipLocProjectJsonGeneration: false
+ LanguageSet: VS_Main_Languages
+ LclSource: lclFilesInRepo
+ LclPackageId: ''
+ RepoType: gitHub
+ GitHubOrg: dotnet
+ MirrorRepo: ''
+ MirrorBranch: main
+ condition: ''
+ JobNameSuffix: ''
+
+jobs:
+- job: OneLocBuild${{ parameters.JobNameSuffix }}
+
+ dependsOn: ${{ parameters.dependsOn }}
+
+ displayName: OneLocBuild${{ parameters.JobNameSuffix }}
+
+ variables:
+ - group: OneLocBuildVariables # Contains the CeapexPat and GithubPat
+ - name: _GenerateLocProjectArguments
+ value: -SourcesDirectory ${{ parameters.SourcesDirectory }}
+ -LanguageSet "${{ parameters.LanguageSet }}"
+ -CreateNeutralXlfs
+ - ${{ if eq(parameters.UseCheckedInLocProjectJson, 'true') }}:
+ - name: _GenerateLocProjectArguments
+ value: ${{ variables._GenerateLocProjectArguments }} -UseCheckedInLocProjectJson
+ - template: /eng/common/templates-official/variables/pool-providers.yml
+
+ ${{ if ne(parameters.pool, '') }}:
+ pool: ${{ parameters.pool }}
+ ${{ if eq(parameters.pool, '') }}:
+ pool:
+ # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ name: AzurePipelines-EO
+ image: 1ESPT-Windows2022
+ demands: Cmd
+ os: windows
+ # If it's not devdiv, it's dnceng
+ ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
+ name: $(DncEngInternalBuildPool)
+ image: 1es-windows-2022
+ os: windows
+
+ steps:
+ - ${{ if ne(parameters.SkipLocProjectJsonGeneration, 'true') }}:
+ - task: Powershell@2
+ inputs:
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/generate-locproject.ps1
+ arguments: $(_GenerateLocProjectArguments)
+ displayName: Generate LocProject.json
+ condition: ${{ parameters.condition }}
+
+ - task: OneLocBuild@2
+ displayName: OneLocBuild
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+ inputs:
+ locProj: eng/Localize/LocProject.json
+ outDir: $(Build.ArtifactStagingDirectory)
+ lclSource: ${{ parameters.LclSource }}
+ lclPackageId: ${{ parameters.LclPackageId }}
+ isCreatePrSelected: ${{ parameters.CreatePr }}
+ isAutoCompletePrSelected: ${{ parameters.AutoCompletePr }}
+ ${{ if eq(parameters.CreatePr, true) }}:
+ isUseLfLineEndingsSelected: ${{ parameters.UseLfLineEndings }}
+ ${{ if eq(parameters.RepoType, 'gitHub') }}:
+ isShouldReusePrSelected: ${{ parameters.ReusePr }}
+ packageSourceAuth: patAuth
+ patVariable: ${{ parameters.CeapexPat }}
+ ${{ if eq(parameters.RepoType, 'gitHub') }}:
+ repoType: ${{ parameters.RepoType }}
+ gitHubPatVariable: "${{ parameters.GithubPat }}"
+ ${{ if ne(parameters.MirrorRepo, '') }}:
+ isMirrorRepoSelected: true
+ gitHubOrganization: ${{ parameters.GitHubOrg }}
+ mirrorRepo: ${{ parameters.MirrorRepo }}
+ mirrorBranch: ${{ parameters.MirrorBranch }}
+ condition: ${{ parameters.condition }}
+
+ - task: 1ES.PublishBuildArtifacts@1
+ displayName: Publish Localization Files
+ inputs:
+ PathtoPublish: '$(Build.ArtifactStagingDirectory)/loc'
+ PublishLocation: Container
+ ArtifactName: Loc
+ condition: ${{ parameters.condition }}
+
+ - task: 1ES.PublishBuildArtifacts@1
+ displayName: Publish LocProject.json
+ inputs:
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/Localize/'
+ PublishLocation: Container
+ ArtifactName: Loc
+ condition: ${{ parameters.condition }}
\ No newline at end of file
diff --git a/eng/common/templates-official/job/publish-build-assets.yml b/eng/common/templates-official/job/publish-build-assets.yml
new file mode 100644
index 0000000000..a99d79df86
--- /dev/null
+++ b/eng/common/templates-official/job/publish-build-assets.yml
@@ -0,0 +1,172 @@
+parameters:
+ configuration: 'Debug'
+
+ # Optional: condition for the job to run
+ condition: ''
+
+ # Optional: 'true' if future jobs should run even if this job fails
+ continueOnError: false
+
+ # Optional: dependencies of the job
+ dependsOn: ''
+
+ # Optional: Include PublishBuildArtifacts task
+ enablePublishBuildArtifacts: false
+
+ # Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
+ pool: {}
+
+ # Optional: should run as a public build even in the internal project
+ # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
+ runAsPublic: false
+
+ # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing
+ publishUsingPipelines: false
+
+ # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing
+ publishAssetsImmediately: false
+
+ artifactsPublishingAdditionalParameters: ''
+
+ signingValidationAdditionalParameters: ''
+
+ repositoryAlias: self
+
+ officialBuildId: ''
+
+jobs:
+- job: Asset_Registry_Publish
+
+ dependsOn: ${{ parameters.dependsOn }}
+ timeoutInMinutes: 150
+
+ ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
+ displayName: Publish Assets
+ ${{ else }}:
+ displayName: Publish to Build Asset Registry
+
+ variables:
+ - template: /eng/common/templates-official/variables/pool-providers.yml
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - group: Publish-Build-Assets
+ - group: AzureDevOps-Artifact-Feeds-Pats
+ - name: runCodesignValidationInjection
+ value: false
+ - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
+ - template: /eng/common/templates-official/post-build/common-variables.yml
+ - name: OfficialBuildId
+ ${{ if ne(parameters.officialBuildId, '') }}:
+ value: ${{ parameters.officialBuildId }}
+ ${{ else }}:
+ value: $(Build.BuildNumber)
+
+ pool:
+ # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ name: AzurePipelines-EO
+ image: 1ESPT-Windows2022
+ demands: Cmd
+ os: windows
+ # If it's not devdiv, it's dnceng
+ ${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
+ name: NetCore1ESPool-Publishing-Internal
+ image: windows.vs2019.amd64
+ os: windows
+ steps:
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - checkout: ${{ parameters.repositoryAlias }}
+ fetchDepth: 3
+ clean: true
+ - task: DownloadBuildArtifacts@0
+ displayName: Download artifact
+ inputs:
+ artifactName: AssetManifests
+ downloadPath: '$(Build.StagingDirectory)/Download'
+ checkDownloadedFiles: true
+ condition: ${{ parameters.condition }}
+ continueOnError: ${{ parameters.continueOnError }}
+
+ - task: NuGetAuthenticate@1
+
+ - task: AzureCLI@2
+ displayName: Publish Build Assets
+ inputs:
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: ps
+ scriptLocation: scriptPath
+ scriptPath: $(System.DefaultWorkingDirectory)/eng/common/sdk-task.ps1
+ arguments: >
+ -task PublishBuildAssets -restore -msbuildEngine dotnet
+ /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests'
+ /p:MaestroApiEndpoint=https://maestro.dot.net
+ /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }}
+ /p:OfficialBuildId=$(OfficialBuildId)
+ condition: ${{ parameters.condition }}
+ continueOnError: ${{ parameters.continueOnError }}
+
+ - task: powershell@2
+ displayName: Create ReleaseConfigs Artifact
+ inputs:
+ targetType: inline
+ script: |
+ New-Item -Path "$(Build.StagingDirectory)/ReleaseConfigs" -ItemType Directory -Force
+ $filePath = "$(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt"
+ Add-Content -Path $filePath -Value $(BARBuildId)
+ Add-Content -Path $filePath -Value "$(DefaultChannels)"
+ Add-Content -Path $filePath -Value $(IsStableBuild)
+
+ - task: 1ES.PublishBuildArtifacts@1
+ displayName: Publish ReleaseConfigs Artifact
+ inputs:
+ PathtoPublish: '$(Build.StagingDirectory)/ReleaseConfigs'
+ PublishLocation: Container
+ ArtifactName: ReleaseConfigs
+
+ - task: powershell@2
+ displayName: Check if SymbolPublishingExclusionsFile.txt exists
+ inputs:
+ targetType: inline
+ script: |
+ $symbolExclusionfile = "$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt"
+ if(Test-Path -Path $symbolExclusionfile)
+ {
+ Write-Host "SymbolExclusionFile exists"
+ Write-Host "##vso[task.setvariable variable=SymbolExclusionFile]true"
+ }
+ else{
+ Write-Host "Symbols Exclusion file does not exists"
+ Write-Host "##vso[task.setvariable variable=SymbolExclusionFile]false"
+ }
+
+ - task: 1ES.PublishBuildArtifacts@1
+ displayName: Publish SymbolPublishingExclusionsFile Artifact
+ condition: eq(variables['SymbolExclusionFile'], 'true')
+ inputs:
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt'
+ PublishLocation: Container
+ ArtifactName: ReleaseConfigs
+
+ - ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
+ - template: /eng/common/templates-official/post-build/setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+
+ - task: AzureCLI@2
+ displayName: Publish Using Darc
+ inputs:
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: ps
+ scriptLocation: scriptPath
+ scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
+ arguments: -BuildId $(BARBuildId)
+ -PublishingInfraVersion 3
+ -AzdoToken '$(System.AccessToken)'
+ -WaitPublishingFinish true
+ -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
+ -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
+
+ - ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
+ - template: /eng/common/templates-official/steps/publish-logs.yml
+ parameters:
+ JobLabel: 'Publish_Artifacts_Logs'
diff --git a/eng/common/templates-official/job/source-build.yml b/eng/common/templates-official/job/source-build.yml
new file mode 100644
index 0000000000..7b9c58a90c
--- /dev/null
+++ b/eng/common/templates-official/job/source-build.yml
@@ -0,0 +1,79 @@
+parameters:
+ # This template adds arcade-powered source-build to CI. The template produces a server job with a
+ # default ID 'Source_Build_Complete' to put in a dependency list if necessary.
+
+ # Specifies the prefix for source-build jobs added to pipeline. Use this if disambiguation needed.
+ jobNamePrefix: 'Source_Build'
+
+ # Defines the platform on which to run the job. By default, a linux-x64 machine, suitable for
+ # managed-only repositories. This is an object with these properties:
+ #
+ # name: ''
+ # The name of the job. This is included in the job ID.
+ # targetRID: ''
+ # The name of the target RID to use, instead of the one auto-detected by Arcade.
+ # nonPortable: false
+ # Enables non-portable mode. This means a more specific RID (e.g. fedora.32-x64 rather than
+ # linux-x64), and compiling against distro-provided packages rather than portable ones.
+ # skipPublishValidation: false
+ # Disables publishing validation. By default, a check is performed to ensure no packages are
+ # published by source-build.
+ # container: ''
+ # A container to use. Runs in docker.
+ # pool: {}
+ # A pool to use. Runs directly on an agent.
+ # buildScript: ''
+ # Specifies the build script to invoke to perform the build in the repo. The default
+ # './build.sh' should work for typical Arcade repositories, but this is customizable for
+ # difficult situations.
+ # jobProperties: {}
+ # A list of job properties to inject at the top level, for potential extensibility beyond
+ # container and pool.
+ platform: {}
+
+ # Optional list of directories to ignore for component governance scans.
+ cgIgnoreDirectories: []
+
+ # If set to true and running on a non-public project,
+ # Internal blob storage locations will be enabled.
+ # This is not enabled by default because many repositories do not need internal sources
+ # and do not need to have the required service connections approved in the pipeline.
+ enableInternalSources: false
+
+jobs:
+- job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }}
+ displayName: Source-Build (${{ parameters.platform.name }})
+
+ ${{ each property in parameters.platform.jobProperties }}:
+ ${{ property.key }}: ${{ property.value }}
+
+ ${{ if ne(parameters.platform.container, '') }}:
+ container: ${{ parameters.platform.container }}
+
+ ${{ if eq(parameters.platform.pool, '') }}:
+ # The default VM host AzDO pool. This should be capable of running Docker containers: almost all
+ # source-build builds run in Docker, including the default managed platform.
+ # /eng/common/templates-official/variables/pool-providers.yml can't be used here (some customers declare variables already), so duplicate its logic
+ pool:
+ ${{ if eq(variables['System.TeamProject'], 'public') }}:
+ name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')]
+ demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
+
+ ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')]
+ image: 1es-mariner-2
+ os: linux
+
+ ${{ if ne(parameters.platform.pool, '') }}:
+ pool: ${{ parameters.platform.pool }}
+
+ workspace:
+ clean: all
+
+ steps:
+ - ${{ if eq(parameters.enableInternalSources, true) }}:
+ - template: /eng/common/templates-official/steps/enable-internal-runtimes.yml
+ - template: /eng/common/templates-official/steps/source-build.yml
+ parameters:
+ platform: ${{ parameters.platform }}
+ cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }}
diff --git a/eng/common/templates-official/job/source-index-stage1.yml b/eng/common/templates-official/job/source-index-stage1.yml
new file mode 100644
index 0000000000..0579e692fc
--- /dev/null
+++ b/eng/common/templates-official/job/source-index-stage1.yml
@@ -0,0 +1,83 @@
+parameters:
+ runAsPublic: false
+ sourceIndexUploadPackageVersion: 2.0.0-20250425.2
+ sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2
+ sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
+ sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
+ preSteps: []
+ binlogPath: artifacts/log/Debug/Build.binlog
+ condition: ''
+ dependsOn: ''
+ pool: ''
+
+jobs:
+- job: SourceIndexStage1
+ dependsOn: ${{ parameters.dependsOn }}
+ condition: ${{ parameters.condition }}
+ variables:
+ - name: SourceIndexUploadPackageVersion
+ value: ${{ parameters.sourceIndexUploadPackageVersion }}
+ - name: SourceIndexProcessBinlogPackageVersion
+ value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }}
+ - name: SourceIndexPackageSource
+ value: ${{ parameters.sourceIndexPackageSource }}
+ - name: BinlogPath
+ value: ${{ parameters.binlogPath }}
+ - template: /eng/common/templates-official/variables/pool-providers.yml
+
+ ${{ if ne(parameters.pool, '') }}:
+ pool: ${{ parameters.pool }}
+ ${{ if eq(parameters.pool, '') }}:
+ pool:
+ ${{ if eq(variables['System.TeamProject'], 'public') }}:
+ name: $(DncEngPublicBuildPool)
+ demands: ImageOverride -equals windows.vs2019.amd64.open
+ ${{ if eq(variables['System.TeamProject'], 'internal') }}:
+ name: $(DncEngInternalBuildPool)
+ image: windows.vs2022.amd64
+ os: windows
+
+ steps:
+ - ${{ each preStep in parameters.preSteps }}:
+ - ${{ preStep }}
+
+ - task: UseDotNet@2
+ displayName: Use .NET 8 SDK
+ inputs:
+ packageType: sdk
+ version: 8.0.x
+ installationPath: $(Agent.TempDirectory)/dotnet
+ workingDirectory: $(Agent.TempDirectory)
+
+ - script: |
+ $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
+ $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
+ displayName: Download Tools
+ # Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
+ workingDirectory: $(Agent.TempDirectory)
+
+ - script: ${{ parameters.sourceIndexBuildCommand }}
+ displayName: Build Repository
+
+ - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output
+ displayName: Process Binlog into indexable sln
+
+ - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - task: AzureCLI@2
+ displayName: Get stage 1 auth token
+ inputs:
+ azureSubscription: 'SourceDotNet Stage1 Publish'
+ addSpnToEnvironment: true
+ scriptType: 'ps'
+ scriptLocation: 'inlineScript'
+ inlineScript: |
+ echo "##vso[task.setvariable variable=ARM_CLIENT_ID;issecret=true]$env:servicePrincipalId"
+ echo "##vso[task.setvariable variable=ARM_ID_TOKEN;issecret=true]$env:idToken"
+ echo "##vso[task.setvariable variable=ARM_TENANT_ID;issecret=true]$env:tenantId"
+
+ - script: |
+ az login --service-principal -u $(ARM_CLIENT_ID) --tenant $(ARM_TENANT_ID) --allow-no-subscriptions --federated-token $(ARM_ID_TOKEN)
+ displayName: "Login to Azure"
+
+ - script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1
+ displayName: Upload stage1 artifacts to source index
diff --git a/eng/common/templates-official/jobs/codeql-build.yml b/eng/common/templates-official/jobs/codeql-build.yml
new file mode 100644
index 0000000000..f6476912a8
--- /dev/null
+++ b/eng/common/templates-official/jobs/codeql-build.yml
@@ -0,0 +1,31 @@
+parameters:
+ # See schema documentation in /Documentation/AzureDevOps/TemplateSchema.md
+ continueOnError: false
+ # Required: A collection of jobs to run - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job
+ jobs: []
+ # Optional: if specified, restore and use this version of Guardian instead of the default.
+ overrideGuardianVersion: ''
+
+jobs:
+- template: /eng/common/templates-official/jobs/jobs.yml
+ parameters:
+ enableMicrobuild: false
+ enablePublishBuildArtifacts: false
+ enablePublishTestResults: false
+ enablePublishBuildAssets: false
+ enablePublishUsingPipelines: false
+ enableTelemetry: true
+
+ variables:
+ - group: Publish-Build-Assets
+ # The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
+ # sync with the packages.config file.
+ - name: DefaultGuardianVersion
+ value: 0.109.0
+ - name: GuardianPackagesConfigFile
+ value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config
+ - name: GuardianVersion
+ value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }}
+
+ jobs: ${{ parameters.jobs }}
+
diff --git a/eng/common/templates-official/jobs/jobs.yml b/eng/common/templates-official/jobs/jobs.yml
new file mode 100644
index 0000000000..03aa64e174
--- /dev/null
+++ b/eng/common/templates-official/jobs/jobs.yml
@@ -0,0 +1,101 @@
+parameters:
+ # See schema documentation in /Documentation/AzureDevOps/TemplateSchema.md
+ continueOnError: false
+
+ # Optional: Include PublishBuildArtifacts task
+ enablePublishBuildArtifacts: false
+
+ # Optional: Enable publishing using release pipelines
+ enablePublishUsingPipelines: false
+
+ # Optional: Enable running the source-build jobs to build repo from source
+ enableSourceBuild: false
+
+ # Optional: Parameters for source-build template.
+ # See /eng/common/templates-official/jobs/source-build.yml for options
+ sourceBuildParameters: []
+
+ graphFileGeneration:
+ # Optional: Enable generating the graph files at the end of the build
+ enabled: false
+ # Optional: Include toolset dependencies in the generated graph files
+ includeToolset: false
+
+ # Required: A collection of jobs to run - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job
+ jobs: []
+
+ # Optional: Override automatically derived dependsOn value for "publish build assets" job
+ publishBuildAssetsDependsOn: ''
+
+ # Optional: Publish the assets as soon as the publish to BAR stage is complete, rather doing so in a separate stage.
+ publishAssetsImmediately: false
+
+ # Optional: If using publishAssetsImmediately and additional parameters are needed, can be used to send along additional parameters (normally sent to post-build.yml)
+ artifactsPublishingAdditionalParameters: ''
+ signingValidationAdditionalParameters: ''
+
+ # Optional: should run as a public build even in the internal project
+ # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
+ runAsPublic: false
+
+ enableSourceIndex: false
+ sourceIndexParams: {}
+ repositoryAlias: self
+ officialBuildId: ''
+
+# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
+# and some (Microbuild) should only be applied to non-PR cases for internal builds.
+
+jobs:
+- ${{ each job in parameters.jobs }}:
+ - template: ../job/job.yml
+ parameters:
+ # pass along parameters
+ ${{ each parameter in parameters }}:
+ ${{ if ne(parameter.key, 'jobs') }}:
+ ${{ parameter.key }}: ${{ parameter.value }}
+
+ # pass along job properties
+ ${{ each property in job }}:
+ ${{ if ne(property.key, 'job') }}:
+ ${{ property.key }}: ${{ property.value }}
+
+ name: ${{ job.job }}
+
+- ${{ if eq(parameters.enableSourceBuild, true) }}:
+ - template: /eng/common/templates-official/jobs/source-build.yml
+ parameters:
+ allCompletedJobId: Source_Build_Complete
+ ${{ each parameter in parameters.sourceBuildParameters }}:
+ ${{ parameter.key }}: ${{ parameter.value }}
+
+- ${{ if eq(parameters.enableSourceIndex, 'true') }}:
+ - template: ../job/source-index-stage1.yml
+ parameters:
+ runAsPublic: ${{ parameters.runAsPublic }}
+ ${{ each parameter in parameters.sourceIndexParams }}:
+ ${{ parameter.key }}: ${{ parameter.value }}
+
+- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
+ - template: ../job/publish-build-assets.yml
+ parameters:
+ continueOnError: ${{ parameters.continueOnError }}
+ dependsOn:
+ - ${{ if ne(parameters.publishBuildAssetsDependsOn, '') }}:
+ - ${{ each job in parameters.publishBuildAssetsDependsOn }}:
+ - ${{ job.job }}
+ - ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
+ - ${{ each job in parameters.jobs }}:
+ - ${{ job.job }}
+ - ${{ if eq(parameters.enableSourceBuild, true) }}:
+ - Source_Build_Complete
+
+ runAsPublic: ${{ parameters.runAsPublic }}
+ publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
+ publishAssetsImmediately: ${{ parameters.publishAssetsImmediately }}
+ enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
+ artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
+ signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }}
+ repositoryAlias: ${{ parameters.repositoryAlias }}
+ officialBuildId: ${{ parameters.officialBuildId }}
diff --git a/eng/common/templates-official/jobs/source-build.yml b/eng/common/templates-official/jobs/source-build.yml
new file mode 100644
index 0000000000..21a346fbd6
--- /dev/null
+++ b/eng/common/templates-official/jobs/source-build.yml
@@ -0,0 +1,59 @@
+parameters:
+ # This template adds arcade-powered source-build to CI. A job is created for each platform, as
+ # well as an optional server job that completes when all platform jobs complete.
+
+ # The name of the "join" job for all source-build platforms. If set to empty string, the job is
+ # not included. Existing repo pipelines can use this job depend on all source-build jobs
+ # completing without maintaining a separate list of every single job ID: just depend on this one
+ # server job. By default, not included. Recommended name if used: 'Source_Build_Complete'.
+ allCompletedJobId: ''
+
+ # See /eng/common/templates-official/job/source-build.yml
+ jobNamePrefix: 'Source_Build'
+
+ # This is the default platform provided by Arcade, intended for use by a managed-only repo.
+ defaultManagedPlatform:
+ name: 'Managed'
+ container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-9-amd64'
+
+ # Defines the platforms on which to run build jobs. One job is created for each platform, and the
+ # object in this array is sent to the job template as 'platform'. If no platforms are specified,
+ # one job runs on 'defaultManagedPlatform'.
+ platforms: []
+
+ # Optional list of directories to ignore for component governance scans.
+ cgIgnoreDirectories: []
+
+ # If set to true and running on a non-public project,
+ # Internal nuget and blob storage locations will be enabled.
+ # This is not enabled by default because many repositories do not need internal sources
+ # and do not need to have the required service connections approved in the pipeline.
+ enableInternalSources: false
+
+jobs:
+
+- ${{ if ne(parameters.allCompletedJobId, '') }}:
+ - job: ${{ parameters.allCompletedJobId }}
+ displayName: Source-Build Complete
+ pool: server
+ dependsOn:
+ - ${{ each platform in parameters.platforms }}:
+ - ${{ parameters.jobNamePrefix }}_${{ platform.name }}
+ - ${{ if eq(length(parameters.platforms), 0) }}:
+ - ${{ parameters.jobNamePrefix }}_${{ parameters.defaultManagedPlatform.name }}
+
+- ${{ each platform in parameters.platforms }}:
+ - template: /eng/common/templates-official/job/source-build.yml
+ parameters:
+ jobNamePrefix: ${{ parameters.jobNamePrefix }}
+ platform: ${{ platform }}
+ cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }}
+ enableInternalSources: ${{ parameters.enableInternalSources }}
+
+- ${{ if eq(length(parameters.platforms), 0) }}:
+ - template: /eng/common/templates-official/job/source-build.yml
+ parameters:
+ jobNamePrefix: ${{ parameters.jobNamePrefix }}
+ platform: ${{ parameters.defaultManagedPlatform }}
+ cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }}
+ enableInternalSources: ${{ parameters.enableInternalSources }}
diff --git a/eng/common/templates-official/post-build/common-variables.yml b/eng/common/templates-official/post-build/common-variables.yml
new file mode 100644
index 0000000000..173914f236
--- /dev/null
+++ b/eng/common/templates-official/post-build/common-variables.yml
@@ -0,0 +1,22 @@
+variables:
+ - group: Publish-Build-Assets
+
+ # Whether the build is internal or not
+ - name: IsInternalBuild
+ value: ${{ and(ne(variables['System.TeamProject'], 'public'), contains(variables['Build.SourceBranch'], 'internal')) }}
+
+ # Default Maestro++ API Endpoint and API Version
+ - name: MaestroApiEndPoint
+ value: "https://maestro.dot.net"
+ - name: MaestroApiAccessToken
+ value: $(MaestroAccessToken)
+ - name: MaestroApiVersion
+ value: "2020-02-20"
+
+ - name: SourceLinkCLIVersion
+ value: 3.0.0
+ - name: SymbolToolVersion
+ value: 1.0.1
+
+ - name: runCodesignValidationInjection
+ value: false
diff --git a/eng/common/templates-official/post-build/post-build.yml b/eng/common/templates-official/post-build/post-build.yml
new file mode 100644
index 0000000000..9fef810399
--- /dev/null
+++ b/eng/common/templates-official/post-build/post-build.yml
@@ -0,0 +1,287 @@
+parameters:
+ # Which publishing infra should be used. THIS SHOULD MATCH THE VERSION ON THE BUILD MANIFEST.
+ # Publishing V1 is no longer supported
+ # Publishing V2 is no longer supported
+ # Publishing V3 is the default
+ - name: publishingInfraVersion
+ displayName: Which version of publishing should be used to promote the build definition?
+ type: number
+ default: 3
+ values:
+ - 3
+
+ - name: BARBuildId
+ displayName: BAR Build Id
+ type: number
+ default: 0
+
+ - name: PromoteToChannelIds
+ displayName: Channel to promote BARBuildId to
+ type: string
+ default: ''
+
+ - name: enableSourceLinkValidation
+ displayName: Enable SourceLink validation
+ type: boolean
+ default: false
+
+ - name: enableSigningValidation
+ displayName: Enable signing validation
+ type: boolean
+ default: true
+
+ - name: enableSymbolValidation
+ displayName: Enable symbol validation
+ type: boolean
+ default: false
+
+ - name: enableNugetValidation
+ displayName: Enable NuGet validation
+ type: boolean
+ default: true
+
+ - name: publishInstallersAndChecksums
+ displayName: Publish installers and checksums
+ type: boolean
+ default: true
+
+ - name: SDLValidationParameters
+ type: object
+ default:
+ enable: false
+ publishGdn: false
+ continueOnError: false
+ params: ''
+ artifactNames: ''
+ downloadArtifacts: true
+
+ # These parameters let the user customize the call to sdk-task.ps1 for publishing
+ # symbols & general artifacts as well as for signing validation
+ - name: symbolPublishingAdditionalParameters
+ displayName: Symbol publishing additional parameters
+ type: string
+ default: ''
+
+ - name: artifactsPublishingAdditionalParameters
+ displayName: Artifact publishing additional parameters
+ type: string
+ default: ''
+
+ - name: signingValidationAdditionalParameters
+ displayName: Signing validation additional parameters
+ type: string
+ default: ''
+
+ # Which stages should finish execution before post-build stages start
+ - name: validateDependsOn
+ type: object
+ default:
+ - build
+
+ - name: publishDependsOn
+ type: object
+ default:
+ - Validate
+
+ # Optional: Call asset publishing rather than running in a separate stage
+ - name: publishAssetsImmediately
+ type: boolean
+ default: false
+
+stages:
+- ${{ if or(eq( parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
+ - stage: Validate
+ dependsOn: ${{ parameters.validateDependsOn }}
+ displayName: Validate Build Assets
+ variables:
+ - template: common-variables.yml
+ - template: /eng/common/templates-official/variables/pool-providers.yml
+ jobs:
+ - job:
+ displayName: NuGet Validation
+ condition: and(succeededOrFailed(), eq( ${{ parameters.enableNugetValidation }}, 'true'))
+ pool:
+ # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ name: AzurePipelines-EO
+ image: 1ESPT-Windows2022
+ demands: Cmd
+ os: windows
+ # If it's not devdiv, it's dnceng
+ ${{ else }}:
+ name: $(DncEngInternalBuildPool)
+ image: 1es-windows-2022
+ os: windows
+
+ steps:
+ - template: setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: PackageArtifacts
+ checkDownloadedFiles: true
+
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1
+ arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
+ -ToolDestinationPath $(Agent.BuildDirectory)/Extract/
+
+ - job:
+ displayName: Signing Validation
+ condition: and( eq( ${{ parameters.enableSigningValidation }}, 'true'), ne( variables['PostBuildSign'], 'true'))
+ pool:
+ # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ name: AzurePipelines-EO
+ image: 1ESPT-Windows2022
+ demands: Cmd
+ os: windows
+ # If it's not devdiv, it's dnceng
+ ${{ else }}:
+ name: $(DncEngInternalBuildPool)
+ image: 1es-windows-2022
+ os: windows
+ steps:
+ - template: setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: PackageArtifacts
+ checkDownloadedFiles: true
+ itemPattern: |
+ **
+ !**/Microsoft.SourceBuild.Intermediate.*.nupkg
+
+ # This is necessary whenever we want to publish/restore to an AzDO private feed
+ # Since sdk-task.ps1 tries to restore packages we need to do this authentication here
+ # otherwise it'll complain about accessing a private feed.
+ - task: NuGetAuthenticate@1
+ displayName: 'Authenticate to AzDO Feeds'
+
+ # Signing validation will optionally work with the buildmanifest file which is downloaded from
+ # Azure DevOps above.
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: eng\common\sdk-task.ps1
+ arguments: -task SigningValidation -restore -msbuildEngine vs
+ /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
+ /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt'
+ ${{ parameters.signingValidationAdditionalParameters }}
+
+ - template: ../steps/publish-logs.yml
+ parameters:
+ StageLabel: 'Validation'
+ JobLabel: 'Signing'
+ BinlogToolVersion: $(BinlogToolVersion)
+
+ - job:
+ displayName: SourceLink Validation
+ condition: eq( ${{ parameters.enableSourceLinkValidation }}, 'true')
+ pool:
+ # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ name: AzurePipelines-EO
+ image: 1ESPT-Windows2022
+ demands: Cmd
+ os: windows
+ # If it's not devdiv, it's dnceng
+ ${{ else }}:
+ name: $(DncEngInternalBuildPool)
+ image: 1es-windows-2022
+ os: windows
+ steps:
+ - template: setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Blob Artifacts
+ inputs:
+ buildType: specific
+ buildVersionToDownload: specific
+ project: $(AzDOProjectName)
+ pipeline: $(AzDOPipelineId)
+ buildId: $(AzDOBuildId)
+ artifactName: BlobArtifacts
+ checkDownloadedFiles: true
+
+ - task: PowerShell@2
+ displayName: Validate
+ inputs:
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1
+ arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
+ -ExtractPath $(Agent.BuildDirectory)/Extract/
+ -GHRepoName $(Build.Repository.Name)
+ -GHCommit $(Build.SourceVersion)
+ -SourcelinkCliVersion $(SourceLinkCLIVersion)
+ continueOnError: true
+
+- ${{ if ne(parameters.publishAssetsImmediately, 'true') }}:
+ - stage: publish_using_darc
+ ${{ if or(eq(parameters.enableNugetValidation, 'true'), eq(parameters.enableSigningValidation, 'true'), eq(parameters.enableSourceLinkValidation, 'true'), eq(parameters.SDLValidationParameters.enable, 'true')) }}:
+ dependsOn: ${{ parameters.publishDependsOn }}
+ ${{ else }}:
+ dependsOn: ${{ parameters.validateDependsOn }}
+ displayName: Publish using Darc
+ variables:
+ - template: common-variables.yml
+ - template: /eng/common/templates-official/variables/pool-providers.yml
+ jobs:
+ - job:
+ displayName: Publish Using Darc
+ timeoutInMinutes: 120
+ pool:
+ # We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ name: AzurePipelines-EO
+ image: 1ESPT-Windows2022
+ demands: Cmd
+ os: windows
+ # If it's not devdiv, it's dnceng
+ ${{ else }}:
+ name: NetCore1ESPool-Publishing-Internal
+ image: windows.vs2019.amd64
+ os: windows
+ steps:
+ - template: setup-maestro-vars.yml
+ parameters:
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
+
+ - task: NuGetAuthenticate@1
+
+ - task: AzureCLI@2
+ displayName: Publish Using Darc
+ inputs:
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: ps
+ scriptLocation: scriptPath
+ scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
+ arguments: -BuildId $(BARBuildId)
+ -PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
+ -AzdoToken '$(System.AccessToken)'
+ -WaitPublishingFinish true
+ -ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
+ -SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
diff --git a/eng/common/templates-official/post-build/setup-maestro-vars.yml b/eng/common/templates-official/post-build/setup-maestro-vars.yml
new file mode 100644
index 0000000000..0c87f149a4
--- /dev/null
+++ b/eng/common/templates-official/post-build/setup-maestro-vars.yml
@@ -0,0 +1,70 @@
+parameters:
+ BARBuildId: ''
+ PromoteToChannelIds: ''
+
+steps:
+ - ${{ if eq(coalesce(parameters.PromoteToChannelIds, 0), 0) }}:
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Release Configs
+ inputs:
+ buildType: current
+ artifactName: ReleaseConfigs
+ checkDownloadedFiles: true
+
+ - task: PowerShell@2
+ name: setReleaseVars
+ displayName: Set Release Configs Vars
+ inputs:
+ targetType: inline
+ pwsh: true
+ script: |
+ try {
+ if (!$Env:PromoteToMaestroChannels -or $Env:PromoteToMaestroChannels.Trim() -eq '') {
+ $Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
+
+ $BarId = $Content | Select -Index 0
+ $Channels = $Content | Select -Index 1
+ $IsStableBuild = $Content | Select -Index 2
+
+ $AzureDevOpsProject = $Env:System_TeamProject
+ $AzureDevOpsBuildDefinitionId = $Env:System_DefinitionId
+ $AzureDevOpsBuildId = $Env:Build_BuildId
+ }
+ else {
+ $buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"
+
+ $apiHeaders = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
+ $apiHeaders.Add('Accept', 'application/json')
+ $apiHeaders.Add('Authorization',"Bearer ${Env:MAESTRO_API_TOKEN}")
+
+ $buildInfo = try { Invoke-WebRequest -Method Get -Uri $buildApiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
+
+ $BarId = $Env:BARBuildId
+ $Channels = $Env:PromoteToMaestroChannels -split ","
+ $Channels = $Channels -join "]["
+ $Channels = "[$Channels]"
+
+ $IsStableBuild = $buildInfo.stable
+ $AzureDevOpsProject = $buildInfo.azureDevOpsProject
+ $AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
+ $AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
+ }
+
+ Write-Host "##vso[task.setvariable variable=BARBuildId]$BarId"
+ Write-Host "##vso[task.setvariable variable=TargetChannels]$Channels"
+ Write-Host "##vso[task.setvariable variable=IsStableBuild]$IsStableBuild"
+
+ Write-Host "##vso[task.setvariable variable=AzDOProjectName]$AzureDevOpsProject"
+ Write-Host "##vso[task.setvariable variable=AzDOPipelineId]$AzureDevOpsBuildDefinitionId"
+ Write-Host "##vso[task.setvariable variable=AzDOBuildId]$AzureDevOpsBuildId"
+ }
+ catch {
+ Write-Host $_
+ Write-Host $_.Exception
+ Write-Host $_.ScriptStackTrace
+ exit 1
+ }
+ env:
+ MAESTRO_API_TOKEN: $(MaestroApiAccessToken)
+ BARBuildId: ${{ parameters.BARBuildId }}
+ PromoteToMaestroChannels: ${{ parameters.PromoteToChannelIds }}
diff --git a/eng/common/templates-official/post-build/trigger-subscription.yml b/eng/common/templates-official/post-build/trigger-subscription.yml
new file mode 100644
index 0000000000..52df707748
--- /dev/null
+++ b/eng/common/templates-official/post-build/trigger-subscription.yml
@@ -0,0 +1,13 @@
+parameters:
+ ChannelId: 0
+
+steps:
+- task: PowerShell@2
+ displayName: Triggering subscriptions
+ inputs:
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/trigger-subscriptions.ps1
+ arguments: -SourceRepo $(Build.Repository.Uri)
+ -ChannelId ${{ parameters.ChannelId }}
+ -MaestroApiAccessToken $(MaestroAccessToken)
+ -MaestroApiEndPoint $(MaestroApiEndPoint)
+ -MaestroApiVersion $(MaestroApiVersion)
diff --git a/eng/common/templates-official/steps/add-build-to-channel.yml b/eng/common/templates-official/steps/add-build-to-channel.yml
new file mode 100644
index 0000000000..5b6fec257e
--- /dev/null
+++ b/eng/common/templates-official/steps/add-build-to-channel.yml
@@ -0,0 +1,13 @@
+parameters:
+ ChannelId: 0
+
+steps:
+- task: PowerShell@2
+ displayName: Add Build to Channel
+ inputs:
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/add-build-to-channel.ps1
+ arguments: -BuildId $(BARBuildId)
+ -ChannelId ${{ parameters.ChannelId }}
+ -MaestroApiAccessToken $(MaestroApiAccessToken)
+ -MaestroApiEndPoint $(MaestroApiEndPoint)
+ -MaestroApiVersion $(MaestroApiVersion)
diff --git a/eng/common/templates-official/steps/build-reason.yml b/eng/common/templates-official/steps/build-reason.yml
new file mode 100644
index 0000000000..eba58109b5
--- /dev/null
+++ b/eng/common/templates-official/steps/build-reason.yml
@@ -0,0 +1,12 @@
+# build-reason.yml
+# Description: runs steps if build.reason condition is valid. conditions is a string of valid build reasons
+# to include steps (',' separated).
+parameters:
+ conditions: ''
+ steps: []
+
+steps:
+ - ${{ if and( not(startsWith(parameters.conditions, 'not')), contains(parameters.conditions, variables['build.reason'])) }}:
+ - ${{ parameters.steps }}
+ - ${{ if and( startsWith(parameters.conditions, 'not'), not(contains(parameters.conditions, variables['build.reason']))) }}:
+ - ${{ parameters.steps }}
diff --git a/eng/common/templates-official/steps/component-governance.yml b/eng/common/templates-official/steps/component-governance.yml
new file mode 100644
index 0000000000..cbba059670
--- /dev/null
+++ b/eng/common/templates-official/steps/component-governance.yml
@@ -0,0 +1,13 @@
+parameters:
+ disableComponentGovernance: false
+ componentGovernanceIgnoreDirectories: ''
+
+steps:
+- ${{ if eq(parameters.disableComponentGovernance, 'true') }}:
+ - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true"
+ displayName: Set skipComponentGovernanceDetection variable
+- ${{ if ne(parameters.disableComponentGovernance, 'true') }}:
+ - task: ComponentGovernanceComponentDetection@0
+ continueOnError: true
+ inputs:
+ ignoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
\ No newline at end of file
diff --git a/eng/common/templates-official/steps/enable-internal-runtimes.yml b/eng/common/templates-official/steps/enable-internal-runtimes.yml
new file mode 100644
index 0000000000..93a8394a66
--- /dev/null
+++ b/eng/common/templates-official/steps/enable-internal-runtimes.yml
@@ -0,0 +1,28 @@
+# Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
+# variable with the base64-encoded SAS token, by default
+
+parameters:
+- name: federatedServiceConnection
+ type: string
+ default: 'dotnetbuilds-internal-read'
+- name: outputVariableName
+ type: string
+ default: 'dotnetbuilds-internal-container-read-token-base64'
+- name: expiryInHours
+ type: number
+ default: 1
+- name: base64Encode
+ type: boolean
+ default: true
+
+steps:
+- ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - template: /eng/common/templates-official/steps/get-delegation-sas.yml
+ parameters:
+ federatedServiceConnection: ${{ parameters.federatedServiceConnection }}
+ outputVariableName: ${{ parameters.outputVariableName }}
+ expiryInHours: ${{ parameters.expiryInHours }}
+ base64Encode: ${{ parameters.base64Encode }}
+ storageAccount: dotnetbuilds
+ container: internal
+ permissions: rl
diff --git a/eng/common/templates-official/steps/execute-codeql.yml b/eng/common/templates-official/steps/execute-codeql.yml
new file mode 100644
index 0000000000..9b4a5ffa30
--- /dev/null
+++ b/eng/common/templates-official/steps/execute-codeql.yml
@@ -0,0 +1,32 @@
+parameters:
+ # Language that should be analyzed. Defaults to csharp
+ language: csharp
+ # Build Commands
+ buildCommands: ''
+ overrideParameters: '' # Optional: to override values for parameters.
+ additionalParameters: '' # Optional: parameters that need user specific values eg: '-SourceToolsList @("abc","def") -ArtifactToolsList @("ghi","jkl")'
+ # Optional: if specified, restore and use this version of Guardian instead of the default.
+ overrideGuardianVersion: ''
+ # Optional: if true, publish the '.gdn' folder as a pipeline artifact. This can help with in-depth
+ # diagnosis of problems with specific tool configurations.
+ publishGuardianDirectoryToPipeline: false
+ # The script to run to execute all SDL tools. Use this if you want to use a script to define SDL
+ # parameters rather than relying on YAML. It may be better to use a local script, because you can
+ # reproduce results locally without piecing together a command based on the YAML.
+ executeAllSdlToolsScript: 'eng/common/sdl/execute-all-sdl-tools.ps1'
+ # There is some sort of bug (has been reported) in Azure DevOps where if this parameter is named
+ # 'continueOnError', the parameter value is not correctly picked up.
+ # This can also be remedied by the caller (post-build.yml) if it does not use a nested parameter
+ # optional: determines whether to continue the build if the step errors;
+ sdlContinueOnError: false
+
+steps:
+- template: /eng/common/templates-official/steps/execute-sdl.yml
+ parameters:
+ overrideGuardianVersion: ${{ parameters.overrideGuardianVersion }}
+ executeAllSdlToolsScript: ${{ parameters.executeAllSdlToolsScript }}
+ overrideParameters: ${{ parameters.overrideParameters }}
+ additionalParameters: '${{ parameters.additionalParameters }}
+ -CodeQLAdditionalRunConfigParams @("BuildCommands < ${{ parameters.buildCommands }}", "Language < ${{ parameters.language }}")'
+ publishGuardianDirectoryToPipeline: ${{ parameters.publishGuardianDirectoryToPipeline }}
+ sdlContinueOnError: ${{ parameters.sdlContinueOnError }}
\ No newline at end of file
diff --git a/eng/common/templates-official/steps/execute-sdl.yml b/eng/common/templates-official/steps/execute-sdl.yml
new file mode 100644
index 0000000000..d9dcd1e1cd
--- /dev/null
+++ b/eng/common/templates-official/steps/execute-sdl.yml
@@ -0,0 +1,86 @@
+parameters:
+ overrideGuardianVersion: ''
+ executeAllSdlToolsScript: ''
+ overrideParameters: ''
+ additionalParameters: ''
+ publishGuardianDirectoryToPipeline: false
+ sdlContinueOnError: false
+ condition: ''
+
+steps:
+- task: NuGetAuthenticate@1
+
+- task: NuGetToolInstaller@1
+ displayName: 'Install NuGet.exe'
+
+- ${{ if ne(parameters.overrideGuardianVersion, '') }}:
+ - pwsh: |
+ Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl
+ . .\sdl.ps1
+ $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }}
+ Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
+ displayName: Install Guardian (Overridden)
+
+- ${{ if eq(parameters.overrideGuardianVersion, '') }}:
+ - pwsh: |
+ Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl
+ . .\sdl.ps1
+ $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts
+ Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
+ displayName: Install Guardian
+
+- ${{ if ne(parameters.overrideParameters, '') }}:
+ - powershell: ${{ parameters.executeAllSdlToolsScript }} ${{ parameters.overrideParameters }}
+ displayName: Execute SDL (Overridden)
+ continueOnError: ${{ parameters.sdlContinueOnError }}
+ condition: ${{ parameters.condition }}
+
+- ${{ if eq(parameters.overrideParameters, '') }}:
+ - powershell: ${{ parameters.executeAllSdlToolsScript }}
+ -GuardianCliLocation $(GuardianCliLocation)
+ -NugetPackageDirectory $(System.DefaultWorkingDirectory)\.packages
+ -AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
+ ${{ parameters.additionalParameters }}
+ displayName: Execute SDL
+ continueOnError: ${{ parameters.sdlContinueOnError }}
+ condition: ${{ parameters.condition }}
+
+- ${{ if ne(parameters.publishGuardianDirectoryToPipeline, 'false') }}:
+ # We want to publish the Guardian results and configuration for easy diagnosis. However, the
+ # '.gdn' dir is a mix of configuration, results, extracted dependencies, and Guardian default
+ # tooling files. Some of these files are large and aren't useful during an investigation, so
+ # exclude them by simply deleting them before publishing. (As of writing, there is no documented
+ # way to selectively exclude a dir from the pipeline artifact publish task.)
+ - task: DeleteFiles@1
+ displayName: Delete Guardian dependencies to avoid uploading
+ inputs:
+ SourceFolder: $(Agent.BuildDirectory)/.gdn
+ Contents: |
+ c
+ i
+ condition: succeededOrFailed()
+
+ - publish: $(Agent.BuildDirectory)/.gdn
+ artifact: GuardianConfiguration
+ displayName: Publish GuardianConfiguration
+ condition: succeededOrFailed()
+
+ # Publish the SARIF files in a container named CodeAnalysisLogs to enable integration
+ # with the "SARIF SAST Scans Tab" Azure DevOps extension
+ - task: CopyFiles@2
+ displayName: Copy SARIF files
+ inputs:
+ flattenFolders: true
+ sourceFolder: $(Agent.BuildDirectory)/.gdn/rc/
+ contents: '**/*.sarif'
+ targetFolder: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs
+ condition: succeededOrFailed()
+
+ # Use PublishBuildArtifacts because the SARIF extension only checks this case
+ # see microsoft/sarif-azuredevops-extension#4
+ - task: PublishBuildArtifacts@1
+ displayName: Publish SARIF files to CodeAnalysisLogs container
+ inputs:
+ pathToPublish: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs
+ artifactName: CodeAnalysisLogs
+ condition: succeededOrFailed()
\ No newline at end of file
diff --git a/eng/common/templates-official/steps/generate-sbom.yml b/eng/common/templates-official/steps/generate-sbom.yml
new file mode 100644
index 0000000000..1536353566
--- /dev/null
+++ b/eng/common/templates-official/steps/generate-sbom.yml
@@ -0,0 +1,48 @@
+# BuildDropPath - The root folder of the drop directory for which the manifest file will be generated.
+# PackageName - The name of the package this SBOM represents.
+# PackageVersion - The version of the package this SBOM represents.
+# ManifestDirPath - The path of the directory where the generated manifest files will be placed
+# IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector.
+
+parameters:
+ PackageVersion: 8.0.0
+ BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts'
+ PackageName: '.NET'
+ ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom
+ IgnoreDirectories: ''
+ sbomContinueOnError: true
+
+steps:
+- task: PowerShell@2
+ displayName: Prep for SBOM generation in (Non-linux)
+ condition: or(eq(variables['Agent.Os'], 'Windows_NT'), eq(variables['Agent.Os'], 'Darwin'))
+ inputs:
+ filePath: ./eng/common/generate-sbom-prep.ps1
+ arguments: ${{parameters.manifestDirPath}}
+
+# Chmodding is a workaround for https://github.com/dotnet/arcade/issues/8461
+- script: |
+ chmod +x ./eng/common/generate-sbom-prep.sh
+ ./eng/common/generate-sbom-prep.sh ${{parameters.manifestDirPath}}
+ displayName: Prep for SBOM generation in (Linux)
+ condition: eq(variables['Agent.Os'], 'Linux')
+ continueOnError: ${{ parameters.sbomContinueOnError }}
+
+- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
+ displayName: 'Generate SBOM manifest'
+ continueOnError: ${{ parameters.sbomContinueOnError }}
+ inputs:
+ PackageName: ${{ parameters.packageName }}
+ BuildDropPath: ${{ parameters.buildDropPath }}
+ PackageVersion: ${{ parameters.packageVersion }}
+ ManifestDirPath: ${{ parameters.manifestDirPath }}/$(ARTIFACT_NAME)
+ ${{ if ne(parameters.IgnoreDirectories, '') }}:
+ AdditionalComponentDetectorArgs: '--IgnoreDirectories ${{ parameters.IgnoreDirectories }}'
+
+- task: 1ES.PublishPipelineArtifact@1
+ displayName: Publish SBOM manifest
+ continueOnError: ${{parameters.sbomContinueOnError}}
+ inputs:
+ targetPath: '${{parameters.manifestDirPath}}'
+ artifactName: $(ARTIFACT_NAME)
+
diff --git a/eng/common/templates-official/steps/get-delegation-sas.yml b/eng/common/templates-official/steps/get-delegation-sas.yml
new file mode 100644
index 0000000000..c690cc0a07
--- /dev/null
+++ b/eng/common/templates-official/steps/get-delegation-sas.yml
@@ -0,0 +1,52 @@
+parameters:
+- name: federatedServiceConnection
+ type: string
+- name: outputVariableName
+ type: string
+- name: expiryInHours
+ type: number
+ default: 1
+- name: base64Encode
+ type: boolean
+ default: false
+- name: storageAccount
+ type: string
+- name: container
+ type: string
+- name: permissions
+ type: string
+ default: 'rl'
+
+steps:
+- task: AzureCLI@2
+ displayName: 'Generate delegation SAS Token for ${{ parameters.storageAccount }}/${{ parameters.container }}'
+ inputs:
+ azureSubscription: ${{ parameters.federatedServiceConnection }}
+ scriptType: 'pscore'
+ scriptLocation: 'inlineScript'
+ inlineScript: |
+ # Calculate the expiration of the SAS token and convert to UTC
+ $expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
+
+ # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads
+ # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484
+ $sas = ""
+ do {
+ $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to generate SAS token."
+ exit 1
+ }
+ } while($sas.IndexOf('/') -ne -1)
+
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to generate SAS token."
+ exit 1
+ }
+
+ if ('${{ parameters.base64Encode }}' -eq 'true') {
+ $sas = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($sas))
+ }
+
+ Write-Host "Setting '${{ parameters.outputVariableName }}' with the access token value"
+ Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true]$sas"
diff --git a/eng/common/templates-official/steps/get-federated-access-token.yml b/eng/common/templates-official/steps/get-federated-access-token.yml
new file mode 100644
index 0000000000..55e33bd38f
--- /dev/null
+++ b/eng/common/templates-official/steps/get-federated-access-token.yml
@@ -0,0 +1,40 @@
+parameters:
+- name: federatedServiceConnection
+ type: string
+- name: outputVariableName
+ type: string
+- name: stepName
+ type: string
+ default: 'getFederatedAccessToken'
+- name: condition
+ type: string
+ default: ''
+# Resource to get a token for. Common values include:
+# - '499b84ac-1321-427f-aa17-267ca6975798' for Azure DevOps
+# - 'https://storage.azure.com/' for storage
+# Defaults to Azure DevOps
+- name: resource
+ type: string
+ default: '499b84ac-1321-427f-aa17-267ca6975798'
+- name: isStepOutputVariable
+ type: boolean
+ default: false
+
+steps:
+- task: AzureCLI@2
+ displayName: 'Getting federated access token for feeds'
+ name: ${{ parameters.stepName }}
+ ${{ if ne(parameters.condition, '') }}:
+ condition: ${{ parameters.condition }}
+ inputs:
+ azureSubscription: ${{ parameters.federatedServiceConnection }}
+ scriptType: 'pscore'
+ scriptLocation: 'inlineScript'
+ inlineScript: |
+ $accessToken = az account get-access-token --query accessToken --resource ${{ parameters.resource }} --output tsv
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to get access token for resource '${{ parameters.resource }}'"
+ exit 1
+ }
+ Write-Host "Setting '${{ parameters.outputVariableName }}' with the access token value"
+ Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true;isOutput=${{ parameters.isStepOutputVariable }}]$accessToken"
\ No newline at end of file
diff --git a/eng/common/templates-official/steps/publish-logs.yml b/eng/common/templates-official/steps/publish-logs.yml
new file mode 100644
index 0000000000..af5a40b64c
--- /dev/null
+++ b/eng/common/templates-official/steps/publish-logs.yml
@@ -0,0 +1,23 @@
+parameters:
+ StageLabel: ''
+ JobLabel: ''
+
+steps:
+- task: Powershell@2
+ displayName: Prepare Binlogs to Upload
+ inputs:
+ targetType: inline
+ script: |
+ New-Item -ItemType Directory $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
+ Move-Item -Path $(System.DefaultWorkingDirectory)/artifacts/log/Debug/* $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
+ continueOnError: true
+ condition: always()
+
+- task: 1ES.PublishBuildArtifacts@1
+ displayName: Publish Logs
+ inputs:
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/PostBuildLogs'
+ PublishLocation: Container
+ ArtifactName: PostBuildLogs
+ continueOnError: true
+ condition: always()
diff --git a/eng/common/templates-official/steps/retain-build.yml b/eng/common/templates-official/steps/retain-build.yml
new file mode 100644
index 0000000000..83d97a26a0
--- /dev/null
+++ b/eng/common/templates-official/steps/retain-build.yml
@@ -0,0 +1,28 @@
+parameters:
+ # Optional azure devops PAT with build execute permissions for the build's organization,
+ # only needed if the build that should be retained ran on a different organization than
+ # the pipeline where this template is executing from
+ Token: ''
+ # Optional BuildId to retain, defaults to the current running build
+ BuildId: ''
+ # Azure devops Organization URI for the build in the https://dev.azure.com/ format.
+ # Defaults to the organization the current pipeline is running on
+ AzdoOrgUri: '$(System.CollectionUri)'
+ # Azure devops project for the build. Defaults to the project the current pipeline is running on
+ AzdoProject: '$(System.TeamProject)'
+
+steps:
+ - task: powershell@2
+ inputs:
+ targetType: 'filePath'
+ filePath: eng/common/retain-build.ps1
+ pwsh: true
+ arguments: >
+ -AzdoOrgUri: ${{parameters.AzdoOrgUri}}
+ -AzdoProject ${{parameters.AzdoProject}}
+ -Token ${{coalesce(parameters.Token, '$env:SYSTEM_ACCESSTOKEN') }}
+ -BuildId ${{coalesce(parameters.BuildId, '$env:BUILD_ID')}}
+ displayName: Enable permanent build retention
+ env:
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+ BUILD_ID: $(Build.BuildId)
\ No newline at end of file
diff --git a/eng/common/templates-official/steps/send-to-helix.yml b/eng/common/templates-official/steps/send-to-helix.yml
new file mode 100644
index 0000000000..22f2501307
--- /dev/null
+++ b/eng/common/templates-official/steps/send-to-helix.yml
@@ -0,0 +1,92 @@
+# Please remember to update the documentation if you make changes to these parameters!
+parameters:
+ HelixSource: 'pr/default' # required -- sources must start with pr/, official/, prodcon/, or agent/
+ HelixType: 'tests/default/' # required -- Helix telemetry which identifies what type of data this is; should include "test" for clarity and must end in '/'
+ HelixBuild: $(Build.BuildNumber) # required -- the build number Helix will use to identify this -- automatically set to the AzDO build number
+ HelixTargetQueues: '' # required -- semicolon-delimited list of Helix queues to test on; see https://helix.dot.net/ for a list of queues
+ HelixAccessToken: '' # required -- access token to make Helix API requests; should be provided by the appropriate variable group
+ HelixConfiguration: '' # optional -- additional property attached to a job
+ HelixPreCommands: '' # optional -- commands to run before Helix work item execution
+ HelixPostCommands: '' # optional -- commands to run after Helix work item execution
+ HelixProjectArguments: '' # optional -- arguments passed to the build command for helixpublish.proj
+ WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects
+ WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects
+ WorkItemTimeout: '' # optional -- a timeout in TimeSpan.Parse-ready value (e.g. 00:02:00) for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
+ CorrelationPayloadDirectory: '' # optional -- a directory to zip up and send to Helix as a correlation payload
+ XUnitProjects: '' # optional -- semicolon-delimited list of XUnitProjects to parse and send to Helix; requires XUnitRuntimeTargetFramework, XUnitPublishTargetFramework, XUnitRunnerVersion, and IncludeDotNetCli=true
+ XUnitWorkItemTimeout: '' # optional -- the workitem timeout in seconds for all workitems created from the xUnit projects specified by XUnitProjects
+ XUnitPublishTargetFramework: '' # optional -- framework to use to publish your xUnit projects
+ XUnitRuntimeTargetFramework: '' # optional -- framework to use for the xUnit console runner
+ XUnitRunnerVersion: '' # optional -- version of the xUnit nuget package you wish to use on Helix; required for XUnitProjects
+ IncludeDotNetCli: false # optional -- true will download a version of the .NET CLI onto the Helix machine as a correlation payload; requires DotNetCliPackageType and DotNetCliVersion
+ DotNetCliPackageType: '' # optional -- either 'sdk', 'runtime' or 'aspnetcore-runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json
+ DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json
+ WaitForWorkItemCompletion: true # optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget."
+ IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
+ HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting https://helix.int-dot.net )
+ Creator: '' # optional -- if the build is external, use this to specify who is sending the job
+ DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
+ condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
+ continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
+
+steps:
+ - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
+ displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
+ env:
+ BuildConfig: $(_BuildConfig)
+ HelixSource: ${{ parameters.HelixSource }}
+ HelixType: ${{ parameters.HelixType }}
+ HelixBuild: ${{ parameters.HelixBuild }}
+ HelixConfiguration: ${{ parameters.HelixConfiguration }}
+ HelixTargetQueues: ${{ parameters.HelixTargetQueues }}
+ HelixAccessToken: ${{ parameters.HelixAccessToken }}
+ HelixPreCommands: ${{ parameters.HelixPreCommands }}
+ HelixPostCommands: ${{ parameters.HelixPostCommands }}
+ WorkItemDirectory: ${{ parameters.WorkItemDirectory }}
+ WorkItemCommand: ${{ parameters.WorkItemCommand }}
+ WorkItemTimeout: ${{ parameters.WorkItemTimeout }}
+ CorrelationPayloadDirectory: ${{ parameters.CorrelationPayloadDirectory }}
+ XUnitProjects: ${{ parameters.XUnitProjects }}
+ XUnitWorkItemTimeout: ${{ parameters.XUnitWorkItemTimeout }}
+ XUnitPublishTargetFramework: ${{ parameters.XUnitPublishTargetFramework }}
+ XUnitRuntimeTargetFramework: ${{ parameters.XUnitRuntimeTargetFramework }}
+ XUnitRunnerVersion: ${{ parameters.XUnitRunnerVersion }}
+ IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
+ DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
+ DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
+ WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
+ HelixBaseUri: ${{ parameters.HelixBaseUri }}
+ Creator: ${{ parameters.Creator }}
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+ condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
+ continueOnError: ${{ parameters.continueOnError }}
+ - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
+ displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
+ env:
+ BuildConfig: $(_BuildConfig)
+ HelixSource: ${{ parameters.HelixSource }}
+ HelixType: ${{ parameters.HelixType }}
+ HelixBuild: ${{ parameters.HelixBuild }}
+ HelixConfiguration: ${{ parameters.HelixConfiguration }}
+ HelixTargetQueues: ${{ parameters.HelixTargetQueues }}
+ HelixAccessToken: ${{ parameters.HelixAccessToken }}
+ HelixPreCommands: ${{ parameters.HelixPreCommands }}
+ HelixPostCommands: ${{ parameters.HelixPostCommands }}
+ WorkItemDirectory: ${{ parameters.WorkItemDirectory }}
+ WorkItemCommand: ${{ parameters.WorkItemCommand }}
+ WorkItemTimeout: ${{ parameters.WorkItemTimeout }}
+ CorrelationPayloadDirectory: ${{ parameters.CorrelationPayloadDirectory }}
+ XUnitProjects: ${{ parameters.XUnitProjects }}
+ XUnitWorkItemTimeout: ${{ parameters.XUnitWorkItemTimeout }}
+ XUnitPublishTargetFramework: ${{ parameters.XUnitPublishTargetFramework }}
+ XUnitRuntimeTargetFramework: ${{ parameters.XUnitRuntimeTargetFramework }}
+ XUnitRunnerVersion: ${{ parameters.XUnitRunnerVersion }}
+ IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
+ DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
+ DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
+ WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
+ HelixBaseUri: ${{ parameters.HelixBaseUri }}
+ Creator: ${{ parameters.Creator }}
+ SYSTEM_ACCESSTOKEN: $(System.AccessToken)
+ condition: and(${{ parameters.condition }}, ne(variables['Agent.Os'], 'Windows_NT'))
+ continueOnError: ${{ parameters.continueOnError }}
diff --git a/eng/common/templates-official/steps/source-build.yml b/eng/common/templates-official/steps/source-build.yml
new file mode 100644
index 0000000000..b63043da4b
--- /dev/null
+++ b/eng/common/templates-official/steps/source-build.yml
@@ -0,0 +1,135 @@
+parameters:
+ # This template adds arcade-powered source-build to CI.
+
+ # This is a 'steps' template, and is intended for advanced scenarios where the existing build
+ # infra has a careful build methodology that must be followed. For example, a repo
+ # (dotnet/runtime) might choose to clone the GitHub repo only once and store it as a pipeline
+ # artifact for all subsequent jobs to use, to reduce dependence on a strong network connection to
+ # GitHub. Using this steps template leaves room for that infra to be included.
+
+ # Defines the platform on which to run the steps. See 'eng/common/templates-official/job/source-build.yml'
+ # for details. The entire object is described in the 'job' template for simplicity, even though
+ # the usage of the properties on this object is split between the 'job' and 'steps' templates.
+ platform: {}
+
+ # Optional list of directories to ignore for component governance scans.
+ cgIgnoreDirectories: []
+
+steps:
+# Build. Keep it self-contained for simple reusability. (No source-build-specific job variables.)
+- script: |
+ set -x
+ df -h
+
+ # If building on the internal project, the artifact feeds variable may be available (usually only if needed)
+ # In that case, call the feed setup script to add internal feeds corresponding to public ones.
+ # In addition, add an msbuild argument to copy the WIP from the repo to the target build location.
+ # This is because SetupNuGetSources.sh will alter the current NuGet.config file, and we need to preserve those
+ # changes.
+ internalRestoreArgs=
+ if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then
+ # Temporarily work around https://github.com/dotnet/arcade/issues/7709
+ chmod +x $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh
+ $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh $(System.DefaultWorkingDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw)
+ internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true'
+
+ # The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo.
+ # This only works if there is a username/email configured, which won't be the case in most CI runs.
+ git config --get user.email
+ if [ $? -ne 0 ]; then
+ git config user.email dn-bot@microsoft.com
+ git config user.name dn-bot
+ fi
+ fi
+
+ # If building on the internal project, the internal storage variable may be available (usually only if needed)
+ # In that case, add variables to allow the download of internal runtimes if the specified versions are not found
+ # in the default public locations.
+ internalRuntimeDownloadArgs=
+ if [ '$(dotnetbuilds-internal-container-read-token-base64)' != '$''(dotnetbuilds-internal-container-read-token-base64)' ]; then
+ internalRuntimeDownloadArgs='/p:DotNetRuntimeSourceFeed=https://dotnetbuilds.blob.core.windows.net/internal /p:DotNetRuntimeSourceFeedKey=$(dotnetbuilds-internal-container-read-token-base64) --runtimesourcefeed https://dotnetbuilds.blob.core.windows.net/internal --runtimesourcefeedkey $(dotnetbuilds-internal-container-read-token-base64)'
+ fi
+
+ buildConfig=Release
+ # Check if AzDO substitutes in a build config from a variable, and use it if so.
+ if [ '$(_BuildConfig)' != '$''(_BuildConfig)' ]; then
+ buildConfig='$(_BuildConfig)'
+ fi
+
+ officialBuildArgs=
+ if [ '${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}' = 'True' ]; then
+ officialBuildArgs='/p:DotNetPublishUsingPipelines=true /p:OfficialBuildId=$(BUILD.BUILDNUMBER)'
+ fi
+
+ targetRidArgs=
+ if [ '${{ parameters.platform.targetRID }}' != '' ]; then
+ targetRidArgs='/p:TargetRid=${{ parameters.platform.targetRID }}'
+ fi
+
+ runtimeOsArgs=
+ if [ '${{ parameters.platform.runtimeOS }}' != '' ]; then
+ runtimeOsArgs='/p:RuntimeOS=${{ parameters.platform.runtimeOS }}'
+ fi
+
+ baseOsArgs=
+ if [ '${{ parameters.platform.baseOS }}' != '' ]; then
+ baseOsArgs='/p:BaseOS=${{ parameters.platform.baseOS }}'
+ fi
+
+ publishArgs=
+ if [ '${{ parameters.platform.skipPublishValidation }}' != 'true' ]; then
+ publishArgs='--publish'
+ fi
+
+ assetManifestFileName=SourceBuild_RidSpecific.xml
+ if [ '${{ parameters.platform.name }}' != '' ]; then
+ assetManifestFileName=SourceBuild_${{ parameters.platform.name }}.xml
+ fi
+
+ ${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \
+ --configuration $buildConfig \
+ --restore --build --pack $publishArgs -bl \
+ $officialBuildArgs \
+ $internalRuntimeDownloadArgs \
+ $internalRestoreArgs \
+ $targetRidArgs \
+ $runtimeOsArgs \
+ $baseOsArgs \
+ /p:SourceBuildNonPortable=${{ parameters.platform.nonPortable }} \
+ /p:ArcadeBuildFromSource=true \
+ /p:AssetManifestFileName=$assetManifestFileName
+ displayName: Build
+
+# Upload build logs for diagnosis.
+- task: CopyFiles@2
+ displayName: Prepare BuildLogs staging directory
+ inputs:
+ SourceFolder: '$(System.DefaultWorkingDirectory)'
+ Contents: |
+ **/*.log
+ **/*.binlog
+ artifacts/source-build/self/prebuilt-report/**
+ TargetFolder: '$(Build.StagingDirectory)/BuildLogs'
+ CleanTargetFolder: true
+ continueOnError: true
+ condition: succeededOrFailed()
+
+- task: 1ES.PublishPipelineArtifact@1
+ displayName: Publish BuildLogs
+ inputs:
+ targetPath: '$(Build.StagingDirectory)/BuildLogs'
+ artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt)
+ continueOnError: true
+ condition: succeededOrFailed()
+
+# Manually inject component detection so that we can ignore the source build upstream cache, which contains
+# a nupkg cache of input packages (a local feed).
+# This path must match the upstream cache path in property 'CurrentRepoSourceBuiltNupkgCacheDir'
+# in src\Microsoft.DotNet.Arcade.Sdk\tools\SourceBuild\SourceBuildArcade.targets
+- task: ComponentGovernanceComponentDetection@0
+ displayName: Component Detection (Exclude upstream cache)
+ inputs:
+ ${{ if eq(length(parameters.cgIgnoreDirectories), 0) }}:
+ ignoreDirectories: '$(System.DefaultWorkingDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache'
+ ${{ else }}:
+ ignoreDirectories: ${{ join(',', parameters.cgIgnoreDirectories) }}
diff --git a/eng/common/templates-official/variables/pool-providers.yml b/eng/common/templates-official/variables/pool-providers.yml
new file mode 100644
index 0000000000..1f308b24ef
--- /dev/null
+++ b/eng/common/templates-official/variables/pool-providers.yml
@@ -0,0 +1,45 @@
+# Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool,
+# otherwise it should go into the "normal" pools. This separates out the queueing and billing of released branches.
+
+# Motivation:
+# Once a given branch of a repository's output has been officially "shipped" once, it is then considered to be COGS
+# (Cost of goods sold) and should be moved to a servicing pool provider. This allows both separation of queueing
+# (allowing release builds and main PR builds to not intefere with each other) and billing (required for COGS.
+# Additionally, the pool provider name itself may be subject to change when the .NET Core Engineering Services
+# team needs to move resources around and create new and potentially differently-named pools. Using this template
+# file from an Arcade-ified repo helps guard against both having to update one's release/* branches and renaming.
+
+# How to use:
+# This yaml assumes your shipped product branches use the naming convention "release/..." (which many do).
+# If we find alternate naming conventions in broad usage it can be added to the condition below.
+#
+# First, import the template in an arcade-ified repo to pick up the variables, e.g.:
+#
+# variables:
+# - template: /eng/common/templates-official/variables/pool-providers.yml
+#
+# ... then anywhere specifying the pool provider use the runtime variables,
+# $(DncEngInternalBuildPool)
+#
+# pool:
+# name: $(DncEngInternalBuildPool)
+# image: 1es-windows-2022
+
+variables:
+ # Coalesce the target and source branches so we know when a PR targets a release branch
+ # If these variables are somehow missing, fall back to main (tends to have more capacity)
+
+ # Any new -Svc alternative pools should have variables added here to allow for splitting work
+
+ - name: DncEngInternalBuildPool
+ value: $[
+ replace(
+ replace(
+ eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'),
+ True,
+ 'NetCore1ESPool-Svc-Internal'
+ ),
+ False,
+ 'NetCore1ESPool-Internal'
+ )
+ ]
\ No newline at end of file
diff --git a/eng/common/templates-official/variables/sdl-variables.yml b/eng/common/templates-official/variables/sdl-variables.yml
new file mode 100644
index 0000000000..f1311bbb1b
--- /dev/null
+++ b/eng/common/templates-official/variables/sdl-variables.yml
@@ -0,0 +1,7 @@
+variables:
+# The Guardian version specified in 'eng/common/sdl/packages.config'. This value must be kept in
+# sync with the packages.config file.
+- name: DefaultGuardianVersion
+ value: 0.109.0
+- name: GuardianPackagesConfigFile
+ value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config
\ No newline at end of file
diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml
index e20ee3a983..80454d5a55 100644
--- a/eng/common/templates/job/job.yml
+++ b/eng/common/templates/job/job.yml
@@ -15,6 +15,7 @@ parameters:
timeoutInMinutes: ''
variables: []
workspace: ''
+ templateContext: ''
# Job base template specific parameters
# See schema documentation - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/TemplateSchema.md
@@ -36,7 +37,7 @@ parameters:
# Sbom related params
enableSbom: true
PackageVersion: 7.0.0
- BuildDropPath: '$(Build.SourcesDirectory)/artifacts'
+ BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts'
jobs:
- job: ${{ parameters.name }}
@@ -68,6 +69,9 @@ jobs:
${{ if ne(parameters.timeoutInMinutes, '') }}:
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ ${{ if ne(parameters.templateContext, '') }}:
+ templateContext: ${{ parameters.templateContext }}
+
variables:
- ${{ if ne(parameters.enableTelemetry, 'false') }}:
- name: DOTNET_CLI_TELEMETRY_PROFILE
@@ -124,19 +128,23 @@ jobs:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- - task: MicroBuildSigningPlugin@3
+ - task: MicroBuildSigningPlugin@4
displayName: Install MicroBuild plugin
inputs:
signType: $(_SignType)
zipSources: false
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
+ ${{ else }}:
+ ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
env:
TeamName: $(_TeamName)
continueOnError: ${{ parameters.continueOnError }}
condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
- ${{ if and(eq(parameters.runAsPublic, 'false'), eq(variables['System.TeamProject'], 'internal')) }}:
- - task: NuGetAuthenticate@0
+ - task: NuGetAuthenticate@1
- ${{ if and(ne(parameters.artifacts.download, 'false'), ne(parameters.artifacts.download, '')) }}:
- task: DownloadPipelineArtifact@2
@@ -155,7 +163,7 @@ jobs:
inputs:
languages: ${{ coalesce(parameters.richCodeNavigationLanguage, 'csharp') }}
environment: ${{ coalesce(parameters.richCodeNavigationEnvironment, 'production') }}
- richNavLogOutputDirectory: $(Build.SourcesDirectory)/artifacts/bin
+ richNavLogOutputDirectory: $(System.DefaultWorkingDirectory)/artifacts/bin
uploadRichNavArtifacts: ${{ coalesce(parameters.richCodeNavigationUploadArtifacts, false) }}
continueOnError: true
@@ -212,7 +220,7 @@ jobs:
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)'
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/artifacts/log/$(_BuildConfig)'
PublishLocation: Container
ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }}
continueOnError: true
@@ -224,7 +232,7 @@ jobs:
inputs:
testResultsFormat: 'xUnit'
testResultsFiles: '*.xml'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
+ searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)'
testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-xunit
mergeTestResults: ${{ parameters.mergeTestResults }}
continueOnError: true
@@ -235,7 +243,7 @@ jobs:
inputs:
testResultsFormat: 'VSTest'
testResultsFiles: '*.trx'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
+ searchFolder: '$(System.DefaultWorkingDirectory)/artifacts/TestResults/$(_BuildConfig)'
testRunTitle: ${{ coalesce(parameters.testRunTitle, parameters.name, '$(System.JobName)') }}-trx
mergeTestResults: ${{ parameters.mergeTestResults }}
continueOnError: true
@@ -249,7 +257,7 @@ jobs:
IgnoreDirectories: ${{ parameters.componentGovernanceIgnoreDirectories }}
- ${{ if eq(parameters.enableBuildRetry, 'true') }}:
- - publish: $(Build.SourcesDirectory)\eng\common\BuildConfiguration
+ - publish: $(System.DefaultWorkingDirectory)\eng\common\BuildConfiguration
artifact: BuildConfiguration
displayName: Publish build retry configuration
continueOnError: true
diff --git a/eng/common/templates/job/onelocbuild.yml b/eng/common/templates/job/onelocbuild.yml
index 60ab00c4de..2cd3840c99 100644
--- a/eng/common/templates/job/onelocbuild.yml
+++ b/eng/common/templates/job/onelocbuild.yml
@@ -8,7 +8,7 @@ parameters:
CeapexPat: $(dn-bot-ceapex-package-r) # PAT for the loc AzDO instance https://dev.azure.com/ceapex
GithubPat: $(BotAccount-dotnet-bot-repo-PAT)
- SourcesDirectory: $(Build.SourcesDirectory)
+ SourcesDirectory: $(System.DefaultWorkingDirectory)
CreatePr: true
AutoCompletePr: false
ReusePr: true
@@ -60,7 +60,7 @@ jobs:
- ${{ if ne(parameters.SkipLocProjectJsonGeneration, 'true') }}:
- task: Powershell@2
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/generate-locproject.ps1
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/generate-locproject.ps1
arguments: $(_GenerateLocProjectArguments)
displayName: Generate LocProject.json
condition: ${{ parameters.condition }}
@@ -103,7 +103,7 @@ jobs:
- task: PublishBuildArtifacts@1
displayName: Publish LocProject.json
inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/eng/Localize/'
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/Localize/'
PublishLocation: Container
ArtifactName: Loc
condition: ${{ parameters.condition }}
\ No newline at end of file
diff --git a/eng/common/templates/job/publish-build-assets.yml b/eng/common/templates/job/publish-build-assets.yml
index 42017109f3..1fcdcc9adc 100644
--- a/eng/common/templates/job/publish-build-assets.yml
+++ b/eng/common/templates/job/publish-build-assets.yml
@@ -30,6 +30,10 @@ parameters:
signingValidationAdditionalParameters: ''
+ repositoryAlias: self
+
+ officialBuildId: ''
+
jobs:
- job: Asset_Registry_Publish
@@ -50,6 +54,11 @@ jobs:
value: false
- ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
- template: /eng/common/templates/post-build/common-variables.yml
+ - name: OfficialBuildId
+ ${{ if ne(parameters.officialBuildId, '') }}:
+ value: ${{ parameters.officialBuildId }}
+ ${{ else }}:
+ value: $(Build.BuildNumber)
pool:
# We don't use the collection uri here because it might vary (.visualstudio.com vs. dev.azure.com)
@@ -58,11 +67,14 @@ jobs:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ if ne(variables['System.TeamProject'], 'DevDiv') }}:
- name: $(DncEngInternalBuildPool)
+ name: NetCore1ESPool-Publishing-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
+ - checkout: ${{ parameters.repositoryAlias }}
+ fetchDepth: 3
+ clean: true
- task: DownloadBuildArtifacts@0
displayName: Download artifact
inputs:
@@ -71,22 +83,25 @@ jobs:
checkDownloadedFiles: true
condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }}
-
- - task: NuGetAuthenticate@0
- - task: PowerShell@2
+ - task: NuGetAuthenticate@1
+
+ - task: AzureCLI@2
displayName: Publish Build Assets
inputs:
- filePath: eng\common\sdk-task.ps1
- arguments: -task PublishBuildAssets -restore -msbuildEngine dotnet
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: ps
+ scriptLocation: scriptPath
+ scriptPath: $(System.DefaultWorkingDirectory)/eng/common/sdk-task.ps1
+ arguments: >
+ -task PublishBuildAssets -restore -msbuildEngine dotnet
/p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests'
- /p:BuildAssetRegistryToken=$(MaestroAccessToken)
- /p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com
+ /p:MaestroApiEndpoint=https://maestro.dot.net
/p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }}
- /p:OfficialBuildId=$(Build.BuildNumber)
+ /p:OfficialBuildId=$(OfficialBuildId)
condition: ${{ parameters.condition }}
continueOnError: ${{ parameters.continueOnError }}
-
+
- task: powershell@2
displayName: Create ReleaseConfigs Artifact
inputs:
@@ -95,7 +110,7 @@ jobs:
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(BARBuildId)
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value "$(DefaultChannels)"
Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(IsStableBuild)
-
+
- task: PublishBuildArtifacts@1
displayName: Publish ReleaseConfigs Artifact
inputs:
@@ -108,7 +123,7 @@ jobs:
inputs:
targetType: inline
script: |
- $symbolExclusionfile = "$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt"
+ $symbolExclusionfile = "$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt"
if(Test-Path -Path $symbolExclusionfile)
{
Write-Host "SymbolExclusionFile exists"
@@ -121,9 +136,9 @@ jobs:
- task: PublishBuildArtifacts@1
displayName: Publish SymbolPublishingExclusionsFile Artifact
- condition: eq(variables['SymbolExclusionFile'], 'true')
+ condition: eq(variables['SymbolExclusionFile'], 'true')
inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/eng/SymbolPublishingExclusionsFile.txt'
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/eng/SymbolPublishingExclusionsFile.txt'
PublishLocation: Container
ArtifactName: ReleaseConfigs
@@ -133,14 +148,16 @@ jobs:
BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- - task: PowerShell@2
+ - task: AzureCLI@2
displayName: Publish Using Darc
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: ps
+ scriptLocation: scriptPath
+ scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
arguments: -BuildId $(BARBuildId)
-PublishingInfraVersion 3
- -AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
- -MaestroToken '$(MaestroApiAccessToken)'
+ -AzdoToken '$(System.AccessToken)'
-WaitPublishingFinish true
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
@@ -148,4 +165,4 @@ jobs:
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
- template: /eng/common/templates/steps/publish-logs.yml
parameters:
- JobLabel: 'Publish_Artifacts_Logs'
+ JobLabel: 'Publish_Artifacts_Logs'
diff --git a/eng/common/templates/job/source-build.yml b/eng/common/templates/job/source-build.yml
index 8a3deef2b7..97021335cf 100644
--- a/eng/common/templates/job/source-build.yml
+++ b/eng/common/templates/job/source-build.yml
@@ -31,6 +31,15 @@ parameters:
# container and pool.
platform: {}
+ # Optional list of directories to ignore for component governance scans.
+ cgIgnoreDirectories: []
+
+ # If set to true and running on a non-public project,
+ # Internal blob storage locations will be enabled.
+ # This is not enabled by default because many repositories do not need internal sources
+ # and do not need to have the required service connections approved in the pipeline.
+ enableInternalSources: false
+
jobs:
- job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }}
displayName: Source-Build (${{ parameters.platform.name }})
@@ -48,11 +57,11 @@ jobs:
pool:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore-Svc-Public' ), False, 'NetCore-Public')]
- demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
+ demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
${{ if eq(variables['System.TeamProject'], 'internal') }}:
name: $[replace(replace(eq(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), 'true'), True, 'NetCore1ESPool-Svc-Internal'), False, 'NetCore1ESPool-Internal')]
- demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
+ demands: ImageOverride -equals Build.Ubuntu.2204.Amd64
${{ if ne(parameters.platform.pool, '') }}:
pool: ${{ parameters.platform.pool }}
@@ -61,6 +70,9 @@ jobs:
clean: all
steps:
+ - ${{ if eq(parameters.enableInternalSources, true) }}:
+ - template: /eng/common/templates/steps/enable-internal-runtimes.yml
- template: /eng/common/templates/steps/source-build.yml
parameters:
platform: ${{ parameters.platform }}
+ cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }}
diff --git a/eng/common/templates/job/source-index-stage1.yml b/eng/common/templates/job/source-index-stage1.yml
index b98202aa02..81606fd9a5 100644
--- a/eng/common/templates/job/source-index-stage1.yml
+++ b/eng/common/templates/job/source-index-stage1.yml
@@ -1,6 +1,7 @@
parameters:
runAsPublic: false
- sourceIndexPackageVersion: 1.0.1-20230228.2
+ sourceIndexUploadPackageVersion: 2.0.0-20250425.2
+ sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
preSteps: []
@@ -14,14 +15,14 @@ jobs:
dependsOn: ${{ parameters.dependsOn }}
condition: ${{ parameters.condition }}
variables:
- - name: SourceIndexPackageVersion
- value: ${{ parameters.sourceIndexPackageVersion }}
+ - name: SourceIndexUploadPackageVersion
+ value: ${{ parameters.sourceIndexUploadPackageVersion }}
+ - name: SourceIndexProcessBinlogPackageVersion
+ value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }}
- name: SourceIndexPackageSource
value: ${{ parameters.sourceIndexPackageSource }}
- name: BinlogPath
value: ${{ parameters.binlogPath }}
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - group: source-dot-net stage1 variables
- template: /eng/common/templates/variables/pool-providers.yml
${{ if ne(parameters.pool, '') }}:
@@ -40,16 +41,16 @@ jobs:
- ${{ preStep }}
- task: UseDotNet@2
- displayName: Use .NET Core SDK 6
+ displayName: Use .NET 8 SDK
inputs:
packageType: sdk
- version: 6.0.x
+ version: 8.0.x
installationPath: $(Agent.TempDirectory)/dotnet
workingDirectory: $(Agent.TempDirectory)
- script: |
- $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
- $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
+ $(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
+ $(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
displayName: Download Tools
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
workingDirectory: $(Agent.TempDirectory)
@@ -57,11 +58,25 @@ jobs:
- script: ${{ parameters.sourceIndexBuildCommand }}
displayName: Build Repository
- - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(Build.SourcesDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output
+ - script: $(Agent.TempDirectory)/.source-index/tools/BinLogToSln -i $(BinlogPath) -r $(System.DefaultWorkingDirectory) -n $(Build.Repository.Name) -o .source-index/stage1output
displayName: Process Binlog into indexable sln
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name)
+ - task: AzureCLI@2
+ displayName: Get stage 1 auth token
+ inputs:
+ azureSubscription: 'SourceDotNet Stage1 Publish'
+ addSpnToEnvironment: true
+ scriptType: 'ps'
+ scriptLocation: 'inlineScript'
+ inlineScript: |
+ echo "##vso[task.setvariable variable=ARM_CLIENT_ID;issecret=true]$env:servicePrincipalId"
+ echo "##vso[task.setvariable variable=ARM_ID_TOKEN;issecret=true]$env:idToken"
+ echo "##vso[task.setvariable variable=ARM_TENANT_ID;issecret=true]$env:tenantId"
+
+ - script: |
+ az login --service-principal -u $(ARM_CLIENT_ID) --tenant $(ARM_TENANT_ID) --allow-no-subscriptions --federated-token $(ARM_ID_TOKEN)
+ displayName: "Login to Azure"
+
+ - script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1
displayName: Upload stage1 artifacts to source index
- env:
- BLOB_CONTAINER_URL: $(source-dot-net-stage1-blob-container-url)
diff --git a/eng/common/templates/jobs/codeql-build.yml b/eng/common/templates/jobs/codeql-build.yml
index f7dc5ea4aa..e8b43e3b4c 100644
--- a/eng/common/templates/jobs/codeql-build.yml
+++ b/eng/common/templates/jobs/codeql-build.yml
@@ -23,7 +23,7 @@ jobs:
- name: DefaultGuardianVersion
value: 0.109.0
- name: GuardianPackagesConfigFile
- value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
+ value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config
- name: GuardianVersion
value: ${{ coalesce(parameters.overrideGuardianVersion, '$(DefaultGuardianVersion)') }}
diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml
index 289bb2396c..7eafc25675 100644
--- a/eng/common/templates/jobs/jobs.yml
+++ b/eng/common/templates/jobs/jobs.yml
@@ -40,6 +40,8 @@ parameters:
enableSourceIndex: false
sourceIndexParams: {}
+ repositoryAlias: self
+ officialBuildId: ''
# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
# and some (Microbuild) should only be applied to non-PR cases for internal builds.
@@ -95,3 +97,5 @@ jobs:
enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
signingValidationAdditionalParameters: ${{ parameters.signingValidationAdditionalParameters }}
+ repositoryAlias: ${{ parameters.repositoryAlias }}
+ officialBuildId: ${{ parameters.officialBuildId }}
diff --git a/eng/common/templates/jobs/source-build.yml b/eng/common/templates/jobs/source-build.yml
index a15b07eb51..4dde599add 100644
--- a/eng/common/templates/jobs/source-build.yml
+++ b/eng/common/templates/jobs/source-build.yml
@@ -14,13 +14,22 @@ parameters:
# This is the default platform provided by Arcade, intended for use by a managed-only repo.
defaultManagedPlatform:
name: 'Managed'
- container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream8'
+ container: 'mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-9-amd64'
# Defines the platforms on which to run build jobs. One job is created for each platform, and the
# object in this array is sent to the job template as 'platform'. If no platforms are specified,
# one job runs on 'defaultManagedPlatform'.
platforms: []
+ # Optional list of directories to ignore for component governance scans.
+ cgIgnoreDirectories: []
+
+ # If set to true and running on a non-public project,
+ # Internal nuget and blob storage locations will be enabled.
+ # This is not enabled by default because many repositories do not need internal sources
+ # and do not need to have the required service connections approved in the pipeline.
+ enableInternalSources: false
+
jobs:
- ${{ if ne(parameters.allCompletedJobId, '') }}:
@@ -38,9 +47,13 @@ jobs:
parameters:
jobNamePrefix: ${{ parameters.jobNamePrefix }}
platform: ${{ platform }}
+ cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }}
+ enableInternalSources: ${{ parameters.enableInternalSources }}
- ${{ if eq(length(parameters.platforms), 0) }}:
- template: /eng/common/templates/job/source-build.yml
parameters:
jobNamePrefix: ${{ parameters.jobNamePrefix }}
platform: ${{ parameters.defaultManagedPlatform }}
+ cgIgnoreDirectories: ${{ parameters.cgIgnoreDirectories }}
+ enableInternalSources: ${{ parameters.enableInternalSources }}
diff --git a/eng/common/templates/post-build/common-variables.yml b/eng/common/templates/post-build/common-variables.yml
index c24193acfc..173914f236 100644
--- a/eng/common/templates/post-build/common-variables.yml
+++ b/eng/common/templates/post-build/common-variables.yml
@@ -7,7 +7,7 @@ variables:
# Default Maestro++ API Endpoint and API Version
- name: MaestroApiEndPoint
- value: "https://maestro-prod.westus2.cloudapp.azure.com"
+ value: "https://maestro.dot.net"
- name: MaestroApiAccessToken
value: $(MaestroAccessToken)
- name: MaestroApiVersion
diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml
index ef720f9d78..6e5722dc2e 100644
--- a/eng/common/templates/post-build/post-build.yml
+++ b/eng/common/templates/post-build/post-build.yml
@@ -39,7 +39,7 @@ parameters:
displayName: Enable NuGet validation
type: boolean
default: true
-
+
- name: publishInstallersAndChecksums
displayName: Publish installers and checksums
type: boolean
@@ -130,9 +130,9 @@ stages:
- task: PowerShell@2
displayName: Validate
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/nuget-validation.ps1
- arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
- -ToolDestinationPath $(Agent.BuildDirectory)/Extract/
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/nuget-validation.ps1
+ arguments: -PackagesPath $(Build.ArtifactStagingDirectory)/PackageArtifacts/
+ -ToolDestinationPath $(Agent.BuildDirectory)/Extract/
- job:
displayName: Signing Validation
@@ -169,7 +169,7 @@ stages:
# This is necessary whenever we want to publish/restore to an AzDO private feed
# Since sdk-task.ps1 tries to restore packages we need to do this authentication here
# otherwise it'll complain about accessing a private feed.
- - task: NuGetAuthenticate@0
+ - task: NuGetAuthenticate@1
displayName: 'Authenticate to AzDO Feeds'
# Signing validation will optionally work with the buildmanifest file which is downloaded from
@@ -180,7 +180,7 @@ stages:
filePath: eng\common\sdk-task.ps1
arguments: -task SigningValidation -restore -msbuildEngine vs
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
- /p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt'
+ /p:SignCheckExclusionsFile='$(System.DefaultWorkingDirectory)/eng/SignCheckExclusionsFile.txt'
${{ parameters.signingValidationAdditionalParameters }}
- template: ../steps/publish-logs.yml
@@ -220,10 +220,10 @@ stages:
- task: PowerShell@2
displayName: Validate
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/sourcelink-validation.ps1
- arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
- -ExtractPath $(Agent.BuildDirectory)/Extract/
- -GHRepoName $(Build.Repository.Name)
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/sourcelink-validation.ps1
+ arguments: -InputPath $(Build.ArtifactStagingDirectory)/BlobArtifacts/
+ -ExtractPath $(Agent.BuildDirectory)/Extract/
+ -GHRepoName $(Build.Repository.Name)
-GHCommit $(Build.SourceVersion)
-SourcelinkCliVersion $(SourceLinkCLIVersion)
continueOnError: true
@@ -258,7 +258,7 @@ stages:
demands: Cmd
# If it's not devdiv, it's dnceng
${{ else }}:
- name: $(DncEngInternalBuildPool)
+ name: NetCore1ESPool-Publishing-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
- template: setup-maestro-vars.yml
@@ -266,16 +266,18 @@ stages:
BARBuildId: ${{ parameters.BARBuildId }}
PromoteToChannelIds: ${{ parameters.PromoteToChannelIds }}
- - task: NuGetAuthenticate@0
+ - task: NuGetAuthenticate@1
- - task: PowerShell@2
+ - task: AzureCLI@2
displayName: Publish Using Darc
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/publish-using-darc.ps1
- arguments: -BuildId $(BARBuildId)
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: ps
+ scriptLocation: scriptPath
+ scriptPath: $(System.DefaultWorkingDirectory)/eng/common/post-build/publish-using-darc.ps1
+ arguments: -BuildId $(BARBuildId)
-PublishingInfraVersion ${{ parameters.publishingInfraVersion }}
- -AzdoToken '$(publishing-dnceng-devdiv-code-r-build-re)'
- -MaestroToken '$(MaestroApiAccessToken)'
+ -AzdoToken '$(System.AccessToken)'
-WaitPublishingFinish true
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
diff --git a/eng/common/templates/post-build/setup-maestro-vars.yml b/eng/common/templates/post-build/setup-maestro-vars.yml
index 0c87f149a4..4347fa80b6 100644
--- a/eng/common/templates/post-build/setup-maestro-vars.yml
+++ b/eng/common/templates/post-build/setup-maestro-vars.yml
@@ -11,13 +11,14 @@ steps:
artifactName: ReleaseConfigs
checkDownloadedFiles: true
- - task: PowerShell@2
+ - task: AzureCLI@2
name: setReleaseVars
displayName: Set Release Configs Vars
inputs:
- targetType: inline
- pwsh: true
- script: |
+ azureSubscription: "Darc: Maestro Production"
+ scriptType: pscore
+ scriptLocation: inlineScript
+ inlineScript: |
try {
if (!$Env:PromoteToMaestroChannels -or $Env:PromoteToMaestroChannels.Trim() -eq '') {
$Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
@@ -31,15 +32,16 @@ steps:
$AzureDevOpsBuildId = $Env:Build_BuildId
}
else {
- $buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"
+ . $(System.DefaultWorkingDirectory)\eng\common\tools.ps1
+ $darc = Get-Darc
+ $buildInfo = & $darc get-build `
+ --id ${{ parameters.BARBuildId }} `
+ --extended `
+ --output-format json `
+ --ci `
+ | convertFrom-Json
- $apiHeaders = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
- $apiHeaders.Add('Accept', 'application/json')
- $apiHeaders.Add('Authorization',"Bearer ${Env:MAESTRO_API_TOKEN}")
-
- $buildInfo = try { Invoke-WebRequest -Method Get -Uri $buildApiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
-
- $BarId = $Env:BARBuildId
+ $BarId = ${{ parameters.BARBuildId }}
$Channels = $Env:PromoteToMaestroChannels -split ","
$Channels = $Channels -join "]["
$Channels = "[$Channels]"
@@ -65,6 +67,4 @@ steps:
exit 1
}
env:
- MAESTRO_API_TOKEN: $(MaestroApiAccessToken)
- BARBuildId: ${{ parameters.BARBuildId }}
PromoteToMaestroChannels: ${{ parameters.PromoteToChannelIds }}
diff --git a/eng/common/templates/post-build/trigger-subscription.yml b/eng/common/templates/post-build/trigger-subscription.yml
index da669030da..52df707748 100644
--- a/eng/common/templates/post-build/trigger-subscription.yml
+++ b/eng/common/templates/post-build/trigger-subscription.yml
@@ -5,7 +5,7 @@ steps:
- task: PowerShell@2
displayName: Triggering subscriptions
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/trigger-subscriptions.ps1
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/trigger-subscriptions.ps1
arguments: -SourceRepo $(Build.Repository.Uri)
-ChannelId ${{ parameters.ChannelId }}
-MaestroApiAccessToken $(MaestroAccessToken)
diff --git a/eng/common/templates/steps/add-build-to-channel.yml b/eng/common/templates/steps/add-build-to-channel.yml
index f67a210d62..5b6fec257e 100644
--- a/eng/common/templates/steps/add-build-to-channel.yml
+++ b/eng/common/templates/steps/add-build-to-channel.yml
@@ -5,7 +5,7 @@ steps:
- task: PowerShell@2
displayName: Add Build to Channel
inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/add-build-to-channel.ps1
+ filePath: $(System.DefaultWorkingDirectory)/eng/common/post-build/add-build-to-channel.ps1
arguments: -BuildId $(BARBuildId)
-ChannelId ${{ parameters.ChannelId }}
-MaestroApiAccessToken $(MaestroApiAccessToken)
diff --git a/eng/common/templates/steps/component-governance.yml b/eng/common/templates/steps/component-governance.yml
index 0ecec47b0c..cbba059670 100644
--- a/eng/common/templates/steps/component-governance.yml
+++ b/eng/common/templates/steps/component-governance.yml
@@ -4,7 +4,7 @@ parameters:
steps:
- ${{ if eq(parameters.disableComponentGovernance, 'true') }}:
- - script: "echo ##vso[task.setvariable variable=skipComponentGovernanceDetection]true"
+ - script: echo "##vso[task.setvariable variable=skipComponentGovernanceDetection]true"
displayName: Set skipComponentGovernanceDetection variable
- ${{ if ne(parameters.disableComponentGovernance, 'true') }}:
- task: ComponentGovernanceComponentDetection@0
diff --git a/eng/common/templates/steps/enable-internal-runtimes.yml b/eng/common/templates/steps/enable-internal-runtimes.yml
new file mode 100644
index 0000000000..54dc9416c5
--- /dev/null
+++ b/eng/common/templates/steps/enable-internal-runtimes.yml
@@ -0,0 +1,28 @@
+# Obtains internal runtime download credentials and populates the 'dotnetbuilds-internal-container-read-token-base64'
+# variable with the base64-encoded SAS token, by default
+
+parameters:
+- name: federatedServiceConnection
+ type: string
+ default: 'dotnetbuilds-internal-read'
+- name: outputVariableName
+ type: string
+ default: 'dotnetbuilds-internal-container-read-token-base64'
+- name: expiryInHours
+ type: number
+ default: 1
+- name: base64Encode
+ type: boolean
+ default: true
+
+steps:
+- ${{ if ne(variables['System.TeamProject'], 'public') }}:
+ - template: /eng/common/templates/steps/get-delegation-sas.yml
+ parameters:
+ federatedServiceConnection: ${{ parameters.federatedServiceConnection }}
+ outputVariableName: ${{ parameters.outputVariableName }}
+ expiryInHours: ${{ parameters.expiryInHours }}
+ base64Encode: ${{ parameters.base64Encode }}
+ storageAccount: dotnetbuilds
+ container: internal
+ permissions: rl
diff --git a/eng/common/templates/steps/execute-sdl.yml b/eng/common/templates/steps/execute-sdl.yml
index 07426fde05..047e8281eb 100644
--- a/eng/common/templates/steps/execute-sdl.yml
+++ b/eng/common/templates/steps/execute-sdl.yml
@@ -9,25 +9,23 @@ parameters:
steps:
- task: NuGetAuthenticate@1
- inputs:
- nuGetServiceConnections: GuardianConnect
- task: NuGetToolInstaller@1
displayName: 'Install NuGet.exe'
- ${{ if ne(parameters.overrideGuardianVersion, '') }}:
- pwsh: |
- Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl
+ Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl
. .\sdl.ps1
- $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }}
+ $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts -Version ${{ parameters.overrideGuardianVersion }}
Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
displayName: Install Guardian (Overridden)
- ${{ if eq(parameters.overrideGuardianVersion, '') }}:
- pwsh: |
- Set-Location -Path $(Build.SourcesDirectory)\eng\common\sdl
+ Set-Location -Path $(System.DefaultWorkingDirectory)\eng\common\sdl
. .\sdl.ps1
- $guardianCliLocation = Install-Gdn -Path $(Build.SourcesDirectory)\.artifacts
+ $guardianCliLocation = Install-Gdn -Path $(System.DefaultWorkingDirectory)\.artifacts
Write-Host "##vso[task.setvariable variable=GuardianCliLocation]$guardianCliLocation"
displayName: Install Guardian
@@ -36,16 +34,19 @@ steps:
displayName: Execute SDL (Overridden)
continueOnError: ${{ parameters.sdlContinueOnError }}
condition: ${{ parameters.condition }}
+ env:
+ GUARDIAN_DEFAULT_PACKAGE_SOURCE_SECRET: $(System.AccessToken)
- ${{ if eq(parameters.overrideParameters, '') }}:
- powershell: ${{ parameters.executeAllSdlToolsScript }}
-GuardianCliLocation $(GuardianCliLocation)
- -NugetPackageDirectory $(Build.SourcesDirectory)\.packages
- -AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
+ -NugetPackageDirectory $(System.DefaultWorkingDirectory)\.packages
${{ parameters.additionalParameters }}
displayName: Execute SDL
continueOnError: ${{ parameters.sdlContinueOnError }}
condition: ${{ parameters.condition }}
+ env:
+ GUARDIAN_DEFAULT_PACKAGE_SOURCE_SECRET: $(System.AccessToken)
- ${{ if ne(parameters.publishGuardianDirectoryToPipeline, 'false') }}:
# We want to publish the Guardian results and configuration for easy diagnosis. However, the
@@ -75,7 +76,7 @@ steps:
flattenFolders: true
sourceFolder: $(Agent.BuildDirectory)/.gdn/rc/
contents: '**/*.sarif'
- targetFolder: $(Build.SourcesDirectory)/CodeAnalysisLogs
+ targetFolder: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs
condition: succeededOrFailed()
# Use PublishBuildArtifacts because the SARIF extension only checks this case
@@ -83,6 +84,6 @@ steps:
- task: PublishBuildArtifacts@1
displayName: Publish SARIF files to CodeAnalysisLogs container
inputs:
- pathToPublish: $(Build.SourcesDirectory)/CodeAnalysisLogs
+ pathToPublish: $(System.DefaultWorkingDirectory)/CodeAnalysisLogs
artifactName: CodeAnalysisLogs
condition: succeededOrFailed()
\ No newline at end of file
diff --git a/eng/common/templates/steps/generate-sbom.yml b/eng/common/templates/steps/generate-sbom.yml
index a06373f38f..b1fe8b3944 100644
--- a/eng/common/templates/steps/generate-sbom.yml
+++ b/eng/common/templates/steps/generate-sbom.yml
@@ -5,8 +5,8 @@
# IgnoreDirectories - Directories to ignore for SBOM generation. This will be passed through to the CG component detector.
parameters:
- PackageVersion: 7.0.0
- BuildDropPath: '$(Build.SourcesDirectory)/artifacts'
+ PackageVersion: 8.0.0
+ BuildDropPath: '$(System.DefaultWorkingDirectory)/artifacts'
PackageName: '.NET'
ManifestDirPath: $(Build.ArtifactStagingDirectory)/sbom
IgnoreDirectories: ''
diff --git a/eng/common/templates/steps/get-delegation-sas.yml b/eng/common/templates/steps/get-delegation-sas.yml
new file mode 100644
index 0000000000..c690cc0a07
--- /dev/null
+++ b/eng/common/templates/steps/get-delegation-sas.yml
@@ -0,0 +1,52 @@
+parameters:
+- name: federatedServiceConnection
+ type: string
+- name: outputVariableName
+ type: string
+- name: expiryInHours
+ type: number
+ default: 1
+- name: base64Encode
+ type: boolean
+ default: false
+- name: storageAccount
+ type: string
+- name: container
+ type: string
+- name: permissions
+ type: string
+ default: 'rl'
+
+steps:
+- task: AzureCLI@2
+ displayName: 'Generate delegation SAS Token for ${{ parameters.storageAccount }}/${{ parameters.container }}'
+ inputs:
+ azureSubscription: ${{ parameters.federatedServiceConnection }}
+ scriptType: 'pscore'
+ scriptLocation: 'inlineScript'
+ inlineScript: |
+ # Calculate the expiration of the SAS token and convert to UTC
+ $expiry = (Get-Date).AddHours(${{ parameters.expiryInHours }}).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
+
+ # Temporarily work around a helix issue where SAS tokens with / in them will cause incorrect downloads
+ # of correlation payloads. https://github.com/dotnet/dnceng/issues/3484
+ $sas = ""
+ do {
+ $sas = az storage container generate-sas --account-name ${{ parameters.storageAccount }} --name ${{ parameters.container }} --permissions ${{ parameters.permissions }} --expiry $expiry --auth-mode login --as-user -o tsv
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to generate SAS token."
+ exit 1
+ }
+ } while($sas.IndexOf('/') -ne -1)
+
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to generate SAS token."
+ exit 1
+ }
+
+ if ('${{ parameters.base64Encode }}' -eq 'true') {
+ $sas = [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($sas))
+ }
+
+ Write-Host "Setting '${{ parameters.outputVariableName }}' with the access token value"
+ Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true]$sas"
diff --git a/eng/common/templates/steps/get-federated-access-token.yml b/eng/common/templates/steps/get-federated-access-token.yml
new file mode 100644
index 0000000000..55e33bd38f
--- /dev/null
+++ b/eng/common/templates/steps/get-federated-access-token.yml
@@ -0,0 +1,40 @@
+parameters:
+- name: federatedServiceConnection
+ type: string
+- name: outputVariableName
+ type: string
+- name: stepName
+ type: string
+ default: 'getFederatedAccessToken'
+- name: condition
+ type: string
+ default: ''
+# Resource to get a token for. Common values include:
+# - '499b84ac-1321-427f-aa17-267ca6975798' for Azure DevOps
+# - 'https://storage.azure.com/' for storage
+# Defaults to Azure DevOps
+- name: resource
+ type: string
+ default: '499b84ac-1321-427f-aa17-267ca6975798'
+- name: isStepOutputVariable
+ type: boolean
+ default: false
+
+steps:
+- task: AzureCLI@2
+ displayName: 'Getting federated access token for feeds'
+ name: ${{ parameters.stepName }}
+ ${{ if ne(parameters.condition, '') }}:
+ condition: ${{ parameters.condition }}
+ inputs:
+ azureSubscription: ${{ parameters.federatedServiceConnection }}
+ scriptType: 'pscore'
+ scriptLocation: 'inlineScript'
+ inlineScript: |
+ $accessToken = az account get-access-token --query accessToken --resource ${{ parameters.resource }} --output tsv
+ if ($LASTEXITCODE -ne 0) {
+ Write-Error "Failed to get access token for resource '${{ parameters.resource }}'"
+ exit 1
+ }
+ Write-Host "Setting '${{ parameters.outputVariableName }}' with the access token value"
+ Write-Host "##vso[task.setvariable variable=${{ parameters.outputVariableName }};issecret=true;isOutput=${{ parameters.isStepOutputVariable }}]$accessToken"
\ No newline at end of file
diff --git a/eng/common/templates/steps/publish-logs.yml b/eng/common/templates/steps/publish-logs.yml
index 88f238f36b..e2f8413d8e 100644
--- a/eng/common/templates/steps/publish-logs.yml
+++ b/eng/common/templates/steps/publish-logs.yml
@@ -8,15 +8,15 @@ steps:
inputs:
targetType: inline
script: |
- New-Item -ItemType Directory $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
- Move-Item -Path $(Build.SourcesDirectory)/artifacts/log/Debug/* $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
+ New-Item -ItemType Directory $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
+ Move-Item -Path $(System.DefaultWorkingDirectory)/artifacts/log/Debug/* $(System.DefaultWorkingDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
continueOnError: true
condition: always()
- task: PublishBuildArtifacts@1
displayName: Publish Logs
inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/PostBuildLogs'
+ PathtoPublish: '$(System.DefaultWorkingDirectory)/PostBuildLogs'
PublishLocation: Container
ArtifactName: PostBuildLogs
continueOnError: true
diff --git a/eng/common/templates/steps/send-to-helix.yml b/eng/common/templates/steps/send-to-helix.yml
index 3eb7e2d5f8..22f2501307 100644
--- a/eng/common/templates/steps/send-to-helix.yml
+++ b/eng/common/templates/steps/send-to-helix.yml
@@ -8,6 +8,7 @@ parameters:
HelixConfiguration: '' # optional -- additional property attached to a job
HelixPreCommands: '' # optional -- commands to run before Helix work item execution
HelixPostCommands: '' # optional -- commands to run after Helix work item execution
+ HelixProjectArguments: '' # optional -- arguments passed to the build command for helixpublish.proj
WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects
WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects
WorkItemTimeout: '' # optional -- a timeout in TimeSpan.Parse-ready value (e.g. 00:02:00) for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
@@ -24,12 +25,12 @@ parameters:
IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting https://helix.int-dot.net )
Creator: '' # optional -- if the build is external, use this to specify who is sending the job
- DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
+ DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
steps:
- - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
+ - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
env:
BuildConfig: $(_BuildConfig)
@@ -59,7 +60,7 @@ steps:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
+ - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj ${{ parameters.HelixProjectArguments }} /restore /p:TreatWarningsAsErrors=false /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
env:
BuildConfig: $(_BuildConfig)
diff --git a/eng/common/templates/steps/source-build.yml b/eng/common/templates/steps/source-build.yml
index 41bbb91573..ae06b26ea3 100644
--- a/eng/common/templates/steps/source-build.yml
+++ b/eng/common/templates/steps/source-build.yml
@@ -12,6 +12,9 @@ parameters:
# the usage of the properties on this object is split between the 'job' and 'steps' templates.
platform: {}
+ # Optional list of directories to ignore for component governance scans.
+ cgIgnoreDirectories: []
+
steps:
# Build. Keep it self-contained for simple reusability. (No source-build-specific job variables.)
- script: |
@@ -26,8 +29,8 @@ steps:
internalRestoreArgs=
if [ '$(dn-bot-dnceng-artifact-feeds-rw)' != '$''(dn-bot-dnceng-artifact-feeds-rw)' ]; then
# Temporarily work around https://github.com/dotnet/arcade/issues/7709
- chmod +x $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
- $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh $(Build.SourcesDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw)
+ chmod +x $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh
+ $(System.DefaultWorkingDirectory)/eng/common/SetupNugetSources.sh $(System.DefaultWorkingDirectory)/NuGet.config $(dn-bot-dnceng-artifact-feeds-rw)
internalRestoreArgs='/p:CopyWipIntoInnerSourceBuildRepo=true'
# The 'Copy WIP' feature of source build uses git stash to apply changes from the original repo.
@@ -101,7 +104,7 @@ steps:
- task: CopyFiles@2
displayName: Prepare BuildLogs staging directory
inputs:
- SourceFolder: '$(Build.SourcesDirectory)'
+ SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: |
**/*.log
**/*.binlog
@@ -126,4 +129,7 @@ steps:
- task: ComponentGovernanceComponentDetection@0
displayName: Component Detection (Exclude upstream cache)
inputs:
- ignoreDirectories: '$(Build.SourcesDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache'
+ ${{ if eq(length(parameters.cgIgnoreDirectories), 0) }}:
+ ignoreDirectories: '$(System.DefaultWorkingDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache'
+ ${{ else }}:
+ ignoreDirectories: ${{ join(',', parameters.cgIgnoreDirectories) }}
diff --git a/eng/common/templates/steps/telemetry-start.yml b/eng/common/templates/steps/telemetry-start.yml
index 32c01ef0b5..6abbcb33a6 100644
--- a/eng/common/templates/steps/telemetry-start.yml
+++ b/eng/common/templates/steps/telemetry-start.yml
@@ -8,7 +8,7 @@ parameters:
steps:
- ${{ if and(eq(parameters.runAsPublic, 'false'), not(eq(variables['System.TeamProject'], 'public'))) }}:
- - task: AzureKeyVault@1
+ - task: AzureKeyVault@2
inputs:
azureSubscription: 'HelixProd_KeyVault'
KeyVaultName: HelixProdKV
diff --git a/eng/common/templates/variables/pool-providers.yml b/eng/common/templates/variables/pool-providers.yml
index 9cc5c550d3..d236f9fdbb 100644
--- a/eng/common/templates/variables/pool-providers.yml
+++ b/eng/common/templates/variables/pool-providers.yml
@@ -1,15 +1,15 @@
-# Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool,
+# Select a pool provider based off branch name. Anything with branch name containing 'release' must go into an -Svc pool,
# otherwise it should go into the "normal" pools. This separates out the queueing and billing of released branches.
-# Motivation:
+# Motivation:
# Once a given branch of a repository's output has been officially "shipped" once, it is then considered to be COGS
# (Cost of goods sold) and should be moved to a servicing pool provider. This allows both separation of queueing
# (allowing release builds and main PR builds to not intefere with each other) and billing (required for COGS.
-# Additionally, the pool provider name itself may be subject to change when the .NET Core Engineering Services
-# team needs to move resources around and create new and potentially differently-named pools. Using this template
+# Additionally, the pool provider name itself may be subject to change when the .NET Core Engineering Services
+# team needs to move resources around and create new and potentially differently-named pools. Using this template
# file from an Arcade-ified repo helps guard against both having to update one's release/* branches and renaming.
-# How to use:
+# How to use:
# This yaml assumes your shipped product branches use the naming convention "release/..." (which many do).
# If we find alternate naming conventions in broad usage it can be added to the condition below.
#
@@ -54,4 +54,4 @@ variables:
False,
'NetCore1ESPool-Internal'
)
- ]
\ No newline at end of file
+ ]
diff --git a/eng/common/templates/variables/sdl-variables.yml b/eng/common/templates/variables/sdl-variables.yml
index dbdd66d4a4..f1311bbb1b 100644
--- a/eng/common/templates/variables/sdl-variables.yml
+++ b/eng/common/templates/variables/sdl-variables.yml
@@ -4,4 +4,4 @@ variables:
- name: DefaultGuardianVersion
value: 0.109.0
- name: GuardianPackagesConfigFile
- value: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
\ No newline at end of file
+ value: $(System.DefaultWorkingDirectory)\eng\common\sdl\packages.config
\ No newline at end of file
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index aa74ab4a81..bb048ad125 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -42,7 +42,7 @@
[bool]$useInstalledDotNetCli = if (Test-Path variable:useInstalledDotNetCli) { $useInstalledDotNetCli } else { $true }
# Enable repos to use a particular version of the on-line dotnet-install scripts.
-# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.ps1
+# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.ps1
[string]$dotnetInstallScriptVersion = if (Test-Path variable:dotnetInstallScriptVersion) { $dotnetInstallScriptVersion } else { 'v1' }
# True to use global NuGet cache instead of restoring packages to repository-local directory.
@@ -263,7 +263,7 @@ function GetDotNetInstallScript([string] $dotnetRoot) {
if (!(Test-Path $installScript)) {
Create-Directory $dotnetRoot
$ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit
- $uri = "https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
+ $uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1"
Retry({
Write-Host "GET $uri"
@@ -321,7 +321,7 @@ function InstallDotNet([string] $dotnetRoot,
$variations += @($installParameters)
$dotnetBuilds = $installParameters.Clone()
- $dotnetbuilds.AzureFeed = "https://dotnetbuilds.azureedge.net/public"
+ $dotnetbuilds.AzureFeed = "https://ci.dot.net/public"
$variations += @($dotnetBuilds)
if ($runtimeSourceFeed) {
@@ -379,13 +379,13 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
}
# Minimum VS version to require.
- $vsMinVersionReqdStr = '17.6'
+ $vsMinVersionReqdStr = '17.7'
$vsMinVersionReqd = [Version]::new($vsMinVersionReqdStr)
# If the version of msbuild is going to be xcopied,
# use this version. Version matches a package here:
- # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/RoslynTools.MSBuild/versions/17.6.0-2
- $defaultXCopyMSBuildVersion = '17.6.0-2'
+ # https://dev.azure.com/dnceng/public/_artifacts/feed/dotnet-eng/NuGet/RoslynTools.MSBuild/versions/17.12.0
+ $defaultXCopyMSBuildVersion = '17.12.0'
if (!$vsRequirements) {
if (Get-Member -InputObject $GlobalJson.tools -Name 'vs') {
@@ -417,7 +417,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# Locate Visual Studio installation or download x-copy msbuild.
$vsInfo = LocateVisualStudio $vsRequirements
- if ($vsInfo -ne $null) {
+ if ($vsInfo -ne $null -and $env:ForceUseXCopyMSBuild -eq $null) {
# Ensure vsInstallDir has a trailing slash
$vsInstallDir = Join-Path $vsInfo.installationPath "\"
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
@@ -601,7 +601,15 @@ function InitializeBuildTool() {
ExitWithExitCode 1
}
$dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet')
- $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'net8.0' }
+
+ # Use override if it exists - commonly set by source-build
+ if ($null -eq $env:_OverrideArcadeInitializeBuildToolFramework) {
+ $initializeBuildToolFramework="net8.0"
+ } else {
+ $initializeBuildToolFramework=$env:_OverrideArcadeInitializeBuildToolFramework
+ }
+
+ $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = $initializeBuildToolFramework }
} elseif ($msbuildEngine -eq "vs") {
try {
$msbuildPath = InitializeVisualStudioMSBuild -install:$restore
@@ -884,7 +892,7 @@ function IsWindowsPlatform() {
}
function Get-Darc($version) {
- $darcPath = "$TempDir\darc\$(New-Guid)"
+ $darcPath = "$TempDir\darc\$([guid]::NewGuid())"
if ($version -ne $null) {
& $PSScriptRoot\darc-init.ps1 -toolpath $darcPath -darcVersion $version | Out-Host
} else {
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index e8d4789433..68db154302 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -54,7 +54,7 @@ warn_as_error=${warn_as_error:-true}
use_installed_dotnet_cli=${use_installed_dotnet_cli:-true}
# Enable repos to use a particular version of the on-line dotnet-install scripts.
-# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
+# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh
dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'}
# True to use global NuGet cache instead of restoring packages to repository-local directory.
@@ -234,7 +234,7 @@ function InstallDotNet {
local public_location=("${installParameters[@]}")
variations+=(public_location)
- local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://dotnetbuilds.azureedge.net/public")
+ local dotnetbuilds=("${installParameters[@]}" --azure-feed "https://ci.dot.net/public")
variations+=(dotnetbuilds)
if [[ -n "${6:-}" ]]; then
@@ -297,7 +297,7 @@ function with_retries {
function GetDotNetInstallScript {
local root=$1
local install_script="$root/dotnet-install.sh"
- local install_script_url="https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
+ local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh"
if [[ ! -a "$install_script" ]]; then
mkdir -p "$root"
@@ -341,7 +341,12 @@ function InitializeBuildTool {
# return values
_InitializeBuildTool="$_InitializeDotNetCli/dotnet"
_InitializeBuildToolCommand="msbuild"
- _InitializeBuildToolFramework="net8.0"
+ # use override if it exists - commonly set by source-build
+ if [[ "${_OverrideArcadeInitializeBuildToolFramework:-x}" == "x" ]]; then
+ _InitializeBuildToolFramework="net8.0"
+ else
+ _InitializeBuildToolFramework="${_OverrideArcadeInitializeBuildToolFramework}"
+ fi
}
# Set RestoreNoCache as a workaround for https://github.com/NuGet/Home/issues/3116
diff --git a/global.json b/global.json
index be3993ae9f..ea6b964fd5 100644
--- a/global.json
+++ b/global.json
@@ -1,9 +1,9 @@
{
"tools": {
- "dotnet": "8.0.100-preview.7.23376.3"
+ "dotnet": "8.0.120"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23451.1",
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25473.1",
"Microsoft.Build.NoTargets": "3.7.0"
}
}
diff --git a/src/SourceBuildAssemblyMetdata.cs b/src/SourceBuildAssemblyMetdata.cs
new file mode 100644
index 0000000000..bb92516157
--- /dev/null
+++ b/src/SourceBuildAssemblyMetdata.cs
@@ -0,0 +1,4 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+[assembly: System.Reflection.AssemblyMetadata("source", "source-build-reference-packages")]
\ No newline at end of file
diff --git a/src/packageSourceGenerator/PackageSourceGeneratorTask/PackageSourceGeneratorTask.csproj b/src/packageSourceGenerator/PackageSourceGeneratorTask/PackageSourceGeneratorTask.csproj
index 42b21382c3..1b5d10c4d9 100644
--- a/src/packageSourceGenerator/PackageSourceGeneratorTask/PackageSourceGeneratorTask.csproj
+++ b/src/packageSourceGenerator/PackageSourceGeneratorTask/PackageSourceGeneratorTask.csproj
@@ -10,6 +10,8 @@
+
+
\ No newline at end of file
diff --git a/src/referencePackages/Directory.Build.props b/src/referencePackages/Directory.Build.props
index c2de584dd2..165bb57435 100644
--- a/src/referencePackages/Directory.Build.props
+++ b/src/referencePackages/Directory.Build.props
@@ -1,6 +1,11 @@
+
+
+
+
+
diff --git a/src/referencePackages/Directory.Build.targets b/src/referencePackages/Directory.Build.targets
index 2c3fbc494d..57080a3ab3 100644
--- a/src/referencePackages/Directory.Build.targets
+++ b/src/referencePackages/Directory.Build.targets
@@ -120,12 +120,18 @@
+
+
+
+
+
+
-
+
diff --git a/src/referencePackages/src/microsoft.build.framework/17.3.4/Microsoft.Build.Framework.17.3.4.csproj b/src/referencePackages/src/microsoft.build.framework/17.3.4/Microsoft.Build.Framework.17.3.4.csproj
new file mode 100644
index 0000000000..a111f6db7b
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.framework/17.3.4/Microsoft.Build.Framework.17.3.4.csproj
@@ -0,0 +1,17 @@
+
+
+
+ net6.0;netstandard2.0
+ Microsoft.Build.Framework
+ 2
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/referencePackages/src/microsoft.build.framework/17.3.4/microsoft.build.framework.nuspec b/src/referencePackages/src/microsoft.build.framework/17.3.4/microsoft.build.framework.nuspec
new file mode 100644
index 0000000000..85411be11e
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.framework/17.3.4/microsoft.build.framework.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ Microsoft.Build.Framework
+ 17.3.4
+ Microsoft
+ true
+ MIT
+ https://licenses.nuget.org/MIT
+ http://go.microsoft.com/fwlink/?LinkId=624683
+ https://go.microsoft.com/fwlink/?linkid=825694
+ This package contains the Microsoft.Build.Framework assembly which is a common assembly used by other MSBuild assemblies.
+ © Microsoft Corporation. All rights reserved.
+ MSBuild
+ true
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.framework/17.3.4/ref/net6.0/Microsoft.Build.Framework.cs b/src/referencePackages/src/microsoft.build.framework/17.3.4/ref/net6.0/Microsoft.Build.Framework.cs
new file mode 100644
index 0000000000..2a1a8323bb
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.framework/17.3.4/ref/net6.0/Microsoft.Build.Framework.cs
@@ -0,0 +1,1159 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Framework.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Tasks.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Utilities.Core, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Tasks.Core, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MSBuild, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Conversion.Core, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Engine.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Engine.OM.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Utilities.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.CommandLine.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
+[assembly: System.Resources.NeutralResourcesLanguage("en")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("Release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Microsoft.Build.Framework.dll")]
+[assembly: System.Reflection.AssemblyFileVersion("17.3.4.17815")]
+[assembly: System.Reflection.AssemblyInformationalVersion("17.3.4+a400405ba8c43976eda92a70d4adf72f9d292a22")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® Build Tools®")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Build.Framework.dll")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/msbuild")]
+[assembly: System.Reflection.AssemblyVersionAttribute("15.1.0.0")]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.Build.Framework
+{
+ public delegate void AnyEventHandler(object sender, BuildEventArgs e);
+ public partial struct BuildEngineResult
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public BuildEngineResult(bool result, System.Collections.Generic.List> targetOutputsPerProject) { }
+
+ public bool Result { get { throw null; } }
+
+ public System.Collections.Generic.IList> TargetOutputsPerProject { get { throw null; } }
+ }
+
+ public partial class BuildErrorEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildErrorEventArgs() { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, string helpLink, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName) { }
+
+ public string Code { get { throw null; } }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int EndColumnNumber { get { throw null; } }
+
+ public int EndLineNumber { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public string HelpLink { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public string Subcategory { get { throw null; } }
+ }
+
+ public delegate void BuildErrorEventHandler(object sender, BuildErrorEventArgs e);
+ public abstract partial class BuildEventArgs : System.EventArgs
+ {
+ protected BuildEventArgs() { }
+
+ protected BuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ protected BuildEventArgs(string message, string helpKeyword, string senderName) { }
+
+ public BuildEventContext BuildEventContext { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } }
+
+ public virtual string Message { get { throw null; } protected set { } }
+
+ protected internal string RawMessage { get { throw null; } set { } }
+
+ protected internal System.DateTime RawTimestamp { get { throw null; } set { } }
+
+ public string SenderName { get { throw null; } }
+
+ public int ThreadId { get { throw null; } }
+
+ public System.DateTime Timestamp { get { throw null; } }
+ }
+
+ public partial class BuildEventContext
+ {
+ public const int InvalidEvaluationId = -1;
+ public const int InvalidNodeId = -2;
+ public const int InvalidProjectContextId = -2;
+ public const int InvalidProjectInstanceId = -1;
+ public const int InvalidSubmissionId = -1;
+ public const int InvalidTargetId = -1;
+ public const int InvalidTaskId = -1;
+ public BuildEventContext(int submissionId, int nodeId, int evaluationId, int projectInstanceId, int projectContextId, int targetId, int taskId) { }
+
+ public BuildEventContext(int submissionId, int nodeId, int projectInstanceId, int projectContextId, int targetId, int taskId) { }
+
+ public BuildEventContext(int nodeId, int projectInstanceId, int projectContextId, int targetId, int taskId) { }
+
+ public BuildEventContext(int nodeId, int targetId, int projectContextId, int taskId) { }
+
+ public long BuildRequestId { get { throw null; } }
+
+ public int EvaluationId { get { throw null; } }
+
+ public static BuildEventContext Invalid { get { throw null; } }
+
+ public int NodeId { get { throw null; } }
+
+ public int ProjectContextId { get { throw null; } }
+
+ public int ProjectInstanceId { get { throw null; } }
+
+ public int SubmissionId { get { throw null; } }
+
+ public int TargetId { get { throw null; } }
+
+ public int TaskId { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public static bool operator ==(BuildEventContext left, BuildEventContext right) { throw null; }
+
+ public static bool operator !=(BuildEventContext left, BuildEventContext right) { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class BuildFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected BuildFinishedEventArgs() { }
+
+ public BuildFinishedEventArgs(string message, string helpKeyword, bool succeeded, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildFinishedEventArgs(string message, string helpKeyword, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public BuildFinishedEventArgs(string message, string helpKeyword, bool succeeded) { }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public delegate void BuildFinishedEventHandler(object sender, BuildFinishedEventArgs e);
+ public partial class BuildMessageEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildMessageEventArgs() { }
+
+ public BuildMessageEventArgs(string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildMessageEventArgs(string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp) { }
+
+ public BuildMessageEventArgs(string message, string helpKeyword, string senderName, MessageImportance importance) { }
+
+ public BuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp) { }
+
+ public BuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, MessageImportance importance) { }
+
+ public string Code { get { throw null; } }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int EndColumnNumber { get { throw null; } }
+
+ public int EndLineNumber { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public MessageImportance Importance { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public string Subcategory { get { throw null; } }
+ }
+
+ public delegate void BuildMessageEventHandler(object sender, BuildMessageEventArgs e);
+ public partial class BuildStartedEventArgs : BuildStatusEventArgs
+ {
+ protected BuildStartedEventArgs() { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword, System.Collections.Generic.IDictionary environmentOfBuild) { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword, System.DateTime eventTimestamp) { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword) { }
+
+ public System.Collections.Generic.IDictionary BuildEnvironment { get { throw null; } }
+ }
+
+ public delegate void BuildStartedEventHandler(object sender, BuildStartedEventArgs e);
+ public abstract partial class BuildStatusEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildStatusEventArgs() { }
+
+ protected BuildStatusEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ protected BuildStatusEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ protected BuildStatusEventArgs(string message, string helpKeyword, string senderName) { }
+ }
+
+ public delegate void BuildStatusEventHandler(object sender, BuildStatusEventArgs e);
+ public partial class BuildWarningEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildWarningEventArgs() { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, string helpLink, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName) { }
+
+ public string Code { get { throw null; } }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int EndColumnNumber { get { throw null; } }
+
+ public int EndLineNumber { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public string HelpLink { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public string Subcategory { get { throw null; } }
+ }
+
+ public delegate void BuildWarningEventHandler(object sender, BuildWarningEventArgs e);
+ public partial class CriticalBuildMessageEventArgs : BuildMessageEventArgs
+ {
+ protected CriticalBuildMessageEventArgs() { }
+
+ public CriticalBuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public CriticalBuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ public CriticalBuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName) { }
+ }
+
+ public abstract partial class CustomBuildEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected CustomBuildEventArgs() { }
+
+ protected CustomBuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ protected CustomBuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ protected CustomBuildEventArgs(string message, string helpKeyword, string senderName) { }
+ }
+
+ public delegate void CustomBuildEventHandler(object sender, CustomBuildEventArgs e);
+ public abstract partial class EngineServices
+ {
+ public const int Version1 = 1;
+ public virtual bool IsTaskInputLoggingEnabled { get { throw null; } }
+
+ public virtual int Version { get { throw null; } }
+
+ public virtual bool LogsMessagesOfImportance(MessageImportance importance) { throw null; }
+ }
+
+ public partial class EnvironmentVariableReadEventArgs : BuildMessageEventArgs
+ {
+ public EnvironmentVariableReadEventArgs() { }
+
+ public EnvironmentVariableReadEventArgs(string environmentVariableName, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string EnvironmentVariableName { get { throw null; } set { } }
+ }
+
+ public partial class ExternalProjectFinishedEventArgs : CustomBuildEventArgs
+ {
+ protected ExternalProjectFinishedEventArgs() { }
+
+ public ExternalProjectFinishedEventArgs(string message, string helpKeyword, string senderName, string projectFile, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public ExternalProjectFinishedEventArgs(string message, string helpKeyword, string senderName, string projectFile, bool succeeded) { }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public partial class ExternalProjectStartedEventArgs : CustomBuildEventArgs
+ {
+ protected ExternalProjectStartedEventArgs() { }
+
+ public ExternalProjectStartedEventArgs(string message, string helpKeyword, string senderName, string projectFile, string targetNames, System.DateTime eventTimestamp) { }
+
+ public ExternalProjectStartedEventArgs(string message, string helpKeyword, string senderName, string projectFile, string targetNames) { }
+
+ public string ProjectFile { get { throw null; } }
+
+ public string TargetNames { get { throw null; } }
+ }
+
+ public partial interface IBuildEngine
+ {
+ int ColumnNumberOfTaskNode { get; }
+
+ bool ContinueOnError { get; }
+
+ int LineNumberOfTaskNode { get; }
+
+ string ProjectFileOfTaskNode { get; }
+
+ bool BuildProjectFile(string projectFileName, string[] targetNames, System.Collections.IDictionary globalProperties, System.Collections.IDictionary targetOutputs);
+ void LogCustomEvent(CustomBuildEventArgs e);
+ void LogErrorEvent(BuildErrorEventArgs e);
+ void LogMessageEvent(BuildMessageEventArgs e);
+ void LogWarningEvent(BuildWarningEventArgs e);
+ }
+
+ public partial interface IBuildEngine10 : IBuildEngine9, IBuildEngine8, IBuildEngine7, IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ EngineServices EngineServices { get; }
+ }
+
+ public partial interface IBuildEngine2 : IBuildEngine
+ {
+ bool IsRunningMultipleNodes { get; }
+
+ bool BuildProjectFile(string projectFileName, string[] targetNames, System.Collections.IDictionary globalProperties, System.Collections.IDictionary targetOutputs, string toolsVersion);
+ bool BuildProjectFilesInParallel(string[] projectFileNames, string[] targetNames, System.Collections.IDictionary[] globalProperties, System.Collections.IDictionary[] targetOutputsPerProject, string[] toolsVersion, bool useResultsCache, bool unloadProjectsOnCompletion);
+ }
+
+ public partial interface IBuildEngine3 : IBuildEngine2, IBuildEngine
+ {
+ BuildEngineResult BuildProjectFilesInParallel(string[] projectFileNames, string[] targetNames, System.Collections.IDictionary[] globalProperties, System.Collections.Generic.IList[] removeGlobalProperties, string[] toolsVersion, bool returnTargetOutputs);
+ void Reacquire();
+ void Yield();
+ }
+
+ public partial interface IBuildEngine4 : IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ object GetRegisteredTaskObject(object key, RegisteredTaskObjectLifetime lifetime);
+ void RegisterTaskObject(object key, object obj, RegisteredTaskObjectLifetime lifetime, bool allowEarlyCollection);
+ object UnregisterTaskObject(object key, RegisteredTaskObjectLifetime lifetime);
+ }
+
+ public partial interface IBuildEngine5 : IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ void LogTelemetry(string eventName, System.Collections.Generic.IDictionary properties);
+ }
+
+ public partial interface IBuildEngine6 : IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ System.Collections.Generic.IReadOnlyDictionary GetGlobalProperties();
+ }
+
+ public partial interface IBuildEngine7 : IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ bool AllowFailureWithoutError { get; set; }
+ }
+
+ public partial interface IBuildEngine8 : IBuildEngine7, IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ bool ShouldTreatWarningAsError(string warningCode);
+ }
+
+ public partial interface IBuildEngine9 : IBuildEngine8, IBuildEngine7, IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ void ReleaseCores(int coresToRelease);
+ int RequestCores(int requestedCores);
+ }
+
+ public partial interface ICancelableTask : ITask
+ {
+ void Cancel();
+ }
+
+ public partial interface IEventRedirector
+ {
+ void ForwardEvent(BuildEventArgs buildEvent);
+ }
+
+ public partial interface IEventSource
+ {
+ event AnyEventHandler AnyEventRaised;
+ event BuildFinishedEventHandler BuildFinished;
+ event BuildStartedEventHandler BuildStarted;
+ event CustomBuildEventHandler CustomEventRaised;
+ event BuildErrorEventHandler ErrorRaised;
+ event BuildMessageEventHandler MessageRaised;
+ event ProjectFinishedEventHandler ProjectFinished;
+ event ProjectStartedEventHandler ProjectStarted;
+ event BuildStatusEventHandler StatusEventRaised;
+ event TargetFinishedEventHandler TargetFinished;
+ event TargetStartedEventHandler TargetStarted;
+ event TaskFinishedEventHandler TaskFinished;
+ event TaskStartedEventHandler TaskStarted;
+ event BuildWarningEventHandler WarningRaised;
+ }
+
+ public partial interface IEventSource2 : IEventSource
+ {
+ event TelemetryEventHandler TelemetryLogged;
+ }
+
+ public partial interface IEventSource3 : IEventSource2, IEventSource
+ {
+ void IncludeEvaluationMetaprojects();
+ void IncludeEvaluationProfiles();
+ void IncludeTaskInputs();
+ }
+
+ public partial interface IEventSource4 : IEventSource3, IEventSource2, IEventSource
+ {
+ void IncludeEvaluationPropertiesAndItems();
+ }
+
+ public partial interface IForwardingLogger : INodeLogger, ILogger
+ {
+ IEventRedirector BuildEventRedirector { get; set; }
+
+ int NodeId { get; set; }
+ }
+
+ public partial interface IGeneratedTask : ITask
+ {
+ object GetPropertyValue(TaskPropertyInfo property);
+ void SetPropertyValue(TaskPropertyInfo property, object value);
+ }
+
+ public partial interface ILogger
+ {
+ string Parameters { get; set; }
+
+ LoggerVerbosity Verbosity { get; set; }
+
+ void Initialize(IEventSource eventSource);
+ void Shutdown();
+ }
+
+ public partial interface INodeLogger : ILogger
+ {
+ void Initialize(IEventSource eventSource, int nodeCount);
+ }
+
+ public partial interface IProjectElement
+ {
+ string ElementName { get; }
+
+ string OuterElement { get; }
+ }
+
+ public partial interface ITask
+ {
+ IBuildEngine BuildEngine { get; set; }
+
+ ITaskHost HostObject { get; set; }
+
+ bool Execute();
+ }
+
+ public partial interface ITaskFactory
+ {
+ string FactoryName { get; }
+
+ System.Type TaskType { get; }
+
+ void CleanupTask(ITask task);
+ ITask CreateTask(IBuildEngine taskFactoryLoggingHost);
+ TaskPropertyInfo[] GetTaskParameters();
+ bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, IBuildEngine taskFactoryLoggingHost);
+ }
+
+ public partial interface ITaskFactory2 : ITaskFactory
+ {
+ ITask CreateTask(IBuildEngine taskFactoryLoggingHost, System.Collections.Generic.IDictionary taskIdentityParameters);
+ bool Initialize(string taskName, System.Collections.Generic.IDictionary factoryIdentityParameters, System.Collections.Generic.IDictionary parameterGroup, string taskBody, IBuildEngine taskFactoryLoggingHost);
+ }
+
+ public partial interface ITaskHost
+ {
+ }
+
+ public partial interface ITaskItem
+ {
+ string ItemSpec { get; set; }
+
+ int MetadataCount { get; }
+
+ System.Collections.ICollection MetadataNames { get; }
+
+ System.Collections.IDictionary CloneCustomMetadata();
+ void CopyMetadataTo(ITaskItem destinationItem);
+ string GetMetadata(string metadataName);
+ void RemoveMetadata(string metadataName);
+ void SetMetadata(string metadataName, string metadataValue);
+ }
+
+ public partial interface ITaskItem2 : ITaskItem
+ {
+ string EvaluatedIncludeEscaped { get; set; }
+
+ System.Collections.IDictionary CloneCustomMetadataEscaped();
+ string GetMetadataValueEscaped(string metadataName);
+ void SetMetadataValueLiteral(string metadataName, string metadataValue);
+ }
+
+ public partial class LazyFormattedBuildEventArgs : BuildEventArgs
+ {
+ protected LazyFormattedBuildEventArgs() { }
+
+ public LazyFormattedBuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public LazyFormattedBuildEventArgs(string message, string helpKeyword, string senderName) { }
+
+ public override string Message { get { throw null; } }
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
+ public sealed partial class LoadInSeparateAppDomainAttribute : System.Attribute
+ {
+ }
+
+ public partial class LoggerException : System.Exception
+ {
+ public LoggerException() { }
+
+ protected LoggerException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
+
+ public LoggerException(string message, System.Exception innerException, string errorCode, string helpKeyword) { }
+
+ public LoggerException(string message, System.Exception innerException) { }
+
+ public LoggerException(string message) { }
+
+ public string ErrorCode { get { throw null; } }
+
+ public string HelpKeyword { get { throw null; } }
+
+ public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
+ }
+
+ public enum LoggerVerbosity
+ {
+ Quiet = 0,
+ Minimal = 1,
+ Normal = 2,
+ Detailed = 3,
+ Diagnostic = 4
+ }
+
+ public enum MessageImportance
+ {
+ High = 0,
+ Normal = 1,
+ Low = 2
+ }
+
+ public partial class MetaprojectGeneratedEventArgs : BuildMessageEventArgs
+ {
+ public string metaprojectXml;
+ public MetaprojectGeneratedEventArgs(string metaprojectXml, string metaprojectPath, string message) { }
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
+ public sealed partial class OutputAttribute : System.Attribute
+ {
+ }
+
+ public sealed partial class ProjectEvaluationFinishedEventArgs : BuildStatusEventArgs
+ {
+ public ProjectEvaluationFinishedEventArgs() { }
+
+ public ProjectEvaluationFinishedEventArgs(string message, params object[] messageArgs) { }
+
+ public System.Collections.IEnumerable GlobalProperties { get { throw null; } set { } }
+
+ public System.Collections.IEnumerable Items { get { throw null; } set { } }
+
+ public Profiler.ProfilerResult? ProfilerResult { get { throw null; } set { } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public System.Collections.IEnumerable Properties { get { throw null; } set { } }
+ }
+
+ public partial class ProjectEvaluationStartedEventArgs : BuildStatusEventArgs
+ {
+ public ProjectEvaluationStartedEventArgs() { }
+
+ public ProjectEvaluationStartedEventArgs(string message, params object[] messageArgs) { }
+
+ public string ProjectFile { get { throw null; } set { } }
+ }
+
+ public partial class ProjectFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected ProjectFinishedEventArgs() { }
+
+ public ProjectFinishedEventArgs(string message, string helpKeyword, string projectFile, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public ProjectFinishedEventArgs(string message, string helpKeyword, string projectFile, bool succeeded) { }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public delegate void ProjectFinishedEventHandler(object sender, ProjectFinishedEventArgs e);
+ public partial class ProjectImportedEventArgs : BuildMessageEventArgs
+ {
+ public ProjectImportedEventArgs() { }
+
+ public ProjectImportedEventArgs(int lineNumber, int columnNumber, string message, params object[] messageArgs) { }
+
+ public string ImportedProjectFile { get { throw null; } set { } }
+
+ public bool ImportIgnored { get { throw null; } set { } }
+
+ public string UnexpandedProject { get { throw null; } set { } }
+ }
+
+ public partial class ProjectStartedEventArgs : BuildStatusEventArgs
+ {
+ public const int InvalidProjectId = -1;
+ protected ProjectStartedEventArgs() { }
+
+ public ProjectStartedEventArgs(int projectId, string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, BuildEventContext parentBuildEventContext, System.Collections.Generic.IDictionary globalProperties, string toolsVersion) { }
+
+ public ProjectStartedEventArgs(int projectId, string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, BuildEventContext parentBuildEventContext, System.DateTime eventTimestamp) { }
+
+ public ProjectStartedEventArgs(int projectId, string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, BuildEventContext parentBuildEventContext) { }
+
+ public ProjectStartedEventArgs(string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, System.DateTime eventTimestamp) { }
+
+ public ProjectStartedEventArgs(string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items) { }
+
+ public System.Collections.Generic.IDictionary GlobalProperties { get { throw null; } }
+
+ public System.Collections.IEnumerable Items { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+
+ public BuildEventContext ParentProjectBuildEventContext { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public int ProjectId { get { throw null; } }
+
+ public System.Collections.IEnumerable Properties { get { throw null; } }
+
+ public string TargetNames { get { throw null; } }
+
+ public string ToolsVersion { get { throw null; } }
+ }
+
+ public delegate void ProjectStartedEventHandler(object sender, ProjectStartedEventArgs e);
+ public partial class PropertyInitialValueSetEventArgs : BuildMessageEventArgs
+ {
+ public PropertyInitialValueSetEventArgs() { }
+
+ public PropertyInitialValueSetEventArgs(string propertyName, string propertyValue, string propertySource, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string PropertyName { get { throw null; } set { } }
+
+ public string PropertySource { get { throw null; } set { } }
+
+ public string PropertyValue { get { throw null; } set { } }
+ }
+
+ public partial class PropertyReassignmentEventArgs : BuildMessageEventArgs
+ {
+ public PropertyReassignmentEventArgs() { }
+
+ public PropertyReassignmentEventArgs(string propertyName, string previousValue, string newValue, string location, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string Location { get { throw null; } set { } }
+
+ public override string Message { get { throw null; } }
+
+ public string NewValue { get { throw null; } set { } }
+
+ public string PreviousValue { get { throw null; } set { } }
+
+ public string PropertyName { get { throw null; } set { } }
+ }
+
+ public enum RegisteredTaskObjectLifetime
+ {
+ Build = 0,
+ AppDomain = 1
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RequiredAttribute : System.Attribute
+ {
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RequiredRuntimeAttribute : System.Attribute
+ {
+ public RequiredRuntimeAttribute(string runtimeVersion) { }
+
+ public string RuntimeVersion { get { throw null; } }
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RunInMTAAttribute : System.Attribute
+ {
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RunInSTAAttribute : System.Attribute
+ {
+ }
+
+ public abstract partial class SdkLogger
+ {
+ public abstract void LogMessage(string message, MessageImportance messageImportance = MessageImportance.Low);
+ }
+
+ public sealed partial class SdkReference : System.IEquatable
+ {
+ public SdkReference(string name, string version, string minimumVersion) { }
+
+ public string MinimumVersion { get { throw null; } }
+
+ public string Name { get { throw null; } }
+
+ public string Version { get { throw null; } }
+
+ public bool Equals(SdkReference other) { throw null; }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public override string ToString() { throw null; }
+
+ public static bool TryParse(string sdk, out SdkReference sdkReference) { throw null; }
+ }
+
+ public abstract partial class SdkResolver
+ {
+ public abstract string Name { get; }
+ public abstract int Priority { get; }
+
+ public abstract SdkResult Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory);
+ }
+
+ public abstract partial class SdkResolverContext
+ {
+ public virtual bool Interactive { get { throw null; } protected set { } }
+
+ public virtual bool IsRunningInVisualStudio { get { throw null; } protected set { } }
+
+ public virtual SdkLogger Logger { get { throw null; } protected set { } }
+
+ public virtual System.Version MSBuildVersion { get { throw null; } protected set { } }
+
+ public virtual string ProjectFilePath { get { throw null; } protected set { } }
+
+ public virtual string SolutionFilePath { get { throw null; } protected set { } }
+
+ public virtual object State { get { throw null; } set { } }
+ }
+
+ public abstract partial class SdkResult
+ {
+ public virtual System.Collections.Generic.IList AdditionalPaths { get { throw null; } set { } }
+
+ public virtual System.Collections.Generic.IDictionary ItemsToAdd { get { throw null; } protected set { } }
+
+ public virtual string Path { get { throw null; } protected set { } }
+
+ public virtual System.Collections.Generic.IDictionary PropertiesToAdd { get { throw null; } protected set { } }
+
+ public virtual SdkReference SdkReference { get { throw null; } protected set { } }
+
+ public virtual bool Success { get { throw null; } protected set { } }
+
+ public virtual string Version { get { throw null; } protected set { } }
+ }
+
+ public abstract partial class SdkResultFactory
+ {
+ public abstract SdkResult IndicateFailure(System.Collections.Generic.IEnumerable errors, System.Collections.Generic.IEnumerable warnings = null);
+ public virtual SdkResult IndicateSuccess(System.Collections.Generic.IEnumerable paths, string version, System.Collections.Generic.IDictionary propertiesToAdd = null, System.Collections.Generic.IDictionary itemsToAdd = null, System.Collections.Generic.IEnumerable warnings = null) { throw null; }
+
+ public virtual SdkResult IndicateSuccess(string path, string version, System.Collections.Generic.IDictionary propertiesToAdd, System.Collections.Generic.IDictionary itemsToAdd, System.Collections.Generic.IEnumerable warnings = null) { throw null; }
+
+ public abstract SdkResult IndicateSuccess(string path, string version, System.Collections.Generic.IEnumerable warnings = null);
+ }
+
+ public partial class SdkResultItem
+ {
+ public SdkResultItem() { }
+
+ public SdkResultItem(string itemSpec, System.Collections.Generic.Dictionary? metadata) { }
+
+ public string ItemSpec { get { throw null; } set { } }
+
+ public System.Collections.Generic.Dictionary? Metadata { get { throw null; } }
+
+ public override bool Equals(object? obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+ }
+
+ public enum TargetBuiltReason
+ {
+ None = 0,
+ BeforeTargets = 1,
+ DependsOn = 2,
+ AfterTargets = 3
+ }
+
+ public partial class TargetFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected TargetFinishedEventArgs() { }
+
+ public TargetFinishedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, bool succeeded, System.Collections.IEnumerable targetOutputs) { }
+
+ public TargetFinishedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, bool succeeded, System.DateTime eventTimestamp, System.Collections.IEnumerable targetOutputs) { }
+
+ public TargetFinishedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, bool succeeded) { }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+
+ public string TargetFile { get { throw null; } }
+
+ public string TargetName { get { throw null; } }
+
+ public System.Collections.IEnumerable TargetOutputs { get { throw null; } set { } }
+ }
+
+ public delegate void TargetFinishedEventHandler(object sender, TargetFinishedEventArgs e);
+ public partial class TargetSkippedEventArgs : BuildMessageEventArgs
+ {
+ public TargetSkippedEventArgs() { }
+
+ public TargetSkippedEventArgs(string message, params object[] messageArgs) { }
+
+ public TargetBuiltReason BuildReason { get { throw null; } set { } }
+
+ public string Condition { get { throw null; } set { } }
+
+ public string EvaluatedCondition { get { throw null; } set { } }
+
+ public override string Message { get { throw null; } }
+
+ public BuildEventContext OriginalBuildEventContext { get { throw null; } set { } }
+
+ public bool OriginallySucceeded { get { throw null; } set { } }
+
+ public string ParentTarget { get { throw null; } set { } }
+
+ public TargetSkipReason SkipReason { get { throw null; } set { } }
+
+ public string TargetFile { get { throw null; } set { } }
+
+ public string TargetName { get { throw null; } set { } }
+ }
+
+ public enum TargetSkipReason
+ {
+ None = 0,
+ PreviouslyBuiltSuccessfully = 1,
+ PreviouslyBuiltUnsuccessfully = 2,
+ OutputsUpToDate = 3,
+ ConditionWasFalse = 4
+ }
+
+ public partial class TargetStartedEventArgs : BuildStatusEventArgs
+ {
+ protected TargetStartedEventArgs() { }
+
+ public TargetStartedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, string parentTarget, TargetBuiltReason buildReason, System.DateTime eventTimestamp) { }
+
+ public TargetStartedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, string parentTarget, System.DateTime eventTimestamp) { }
+
+ public TargetStartedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile) { }
+
+ public TargetBuiltReason BuildReason { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+
+ public string ParentTarget { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public string TargetFile { get { throw null; } }
+
+ public string TargetName { get { throw null; } }
+ }
+
+ public delegate void TargetStartedEventHandler(object sender, TargetStartedEventArgs e);
+ public partial class TaskCommandLineEventArgs : BuildMessageEventArgs
+ {
+ protected TaskCommandLineEventArgs() { }
+
+ public TaskCommandLineEventArgs(string commandLine, string taskName, MessageImportance importance, System.DateTime eventTimestamp) { }
+
+ public TaskCommandLineEventArgs(string commandLine, string taskName, MessageImportance importance) { }
+
+ public string CommandLine { get { throw null; } }
+
+ public string TaskName { get { throw null; } }
+ }
+
+ public partial class TaskFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected TaskFinishedEventArgs() { }
+
+ public TaskFinishedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public TaskFinishedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName, bool succeeded) { }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+
+ public string TaskFile { get { throw null; } }
+
+ public string TaskName { get { throw null; } }
+ }
+
+ public delegate void TaskFinishedEventHandler(object sender, TaskFinishedEventArgs e);
+ public partial class TaskParameterEventArgs : BuildMessageEventArgs
+ {
+ public TaskParameterEventArgs(TaskParameterMessageKind kind, string itemType, System.Collections.IList items, bool logItemMetadata, System.DateTime eventTimestamp) { }
+
+ public System.Collections.IList Items { get { throw null; } }
+
+ public string ItemType { get { throw null; } }
+
+ public TaskParameterMessageKind Kind { get { throw null; } }
+
+ public bool LogItemMetadata { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+ }
+
+ public enum TaskParameterMessageKind
+ {
+ TaskInput = 0,
+ TaskOutput = 1,
+ AddItem = 2,
+ RemoveItem = 3,
+ SkippedTargetInputs = 4,
+ SkippedTargetOutputs = 5
+ }
+
+ public partial class TaskPropertyInfo
+ {
+ public TaskPropertyInfo(string name, System.Type typeOfParameter, bool output, bool required) { }
+
+ public bool Log { get { throw null; } set { } }
+
+ public bool LogItemMetadata { get { throw null; } set { } }
+
+ public string Name { get { throw null; } }
+
+ public bool Output { get { throw null; } }
+
+ public System.Type PropertyType { get { throw null; } }
+
+ public bool Required { get { throw null; } }
+ }
+
+ public partial class TaskStartedEventArgs : BuildStatusEventArgs
+ {
+ protected TaskStartedEventArgs() { }
+
+ public TaskStartedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName, System.DateTime eventTimestamp) { }
+
+ public TaskStartedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName) { }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public string TaskFile { get { throw null; } }
+
+ public string TaskName { get { throw null; } }
+ }
+
+ public delegate void TaskStartedEventHandler(object sender, TaskStartedEventArgs e);
+ public sealed partial class TelemetryEventArgs : BuildEventArgs
+ {
+ public string EventName { get { throw null; } set { } }
+
+ public System.Collections.Generic.IDictionary Properties { get { throw null; } set { } }
+ }
+
+ public delegate void TelemetryEventHandler(object sender, TelemetryEventArgs e);
+ public partial class UninitializedPropertyReadEventArgs : BuildMessageEventArgs
+ {
+ public UninitializedPropertyReadEventArgs() { }
+
+ public UninitializedPropertyReadEventArgs(string propertyName, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string PropertyName { get { throw null; } set { } }
+ }
+}
+
+namespace Microsoft.Build.Framework.Profiler
+{
+ public partial struct EvaluationLocation
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public EvaluationLocation(EvaluationPass evaluationPass, string evaluationPassDescription, string file, int? line, string elementName, string elementDescription, EvaluationLocationKind kind) { }
+
+ public EvaluationLocation(long id, long? parentId, EvaluationPass evaluationPass, string evaluationPassDescription, string file, int? line, string elementName, string elementDescription, EvaluationLocationKind kind) { }
+
+ public EvaluationLocation(long? parentId, EvaluationPass evaluationPass, string evaluationPassDescription, string file, int? line, string elementName, string elementDescription, EvaluationLocationKind kind) { }
+
+ public string ElementDescription { get { throw null; } }
+
+ public string ElementName { get { throw null; } }
+
+ public static EvaluationLocation EmptyLocation { get { throw null; } }
+
+ public EvaluationPass EvaluationPass { get { throw null; } }
+
+ public string EvaluationPassDescription { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public long Id { get { throw null; } }
+
+ public bool IsEvaluationPass { get { throw null; } }
+
+ public EvaluationLocationKind Kind { get { throw null; } }
+
+ public int? Line { get { throw null; } }
+
+ public long? ParentId { get { throw null; } }
+
+ public static EvaluationLocation CreateLocationForAggregatedGlob() { throw null; }
+
+ public static EvaluationLocation CreateLocationForCondition(long? parentId, EvaluationPass evaluationPass, string evaluationDescription, string file, int? line, string condition) { throw null; }
+
+ public static EvaluationLocation CreateLocationForGlob(long? parentId, EvaluationPass evaluationPass, string evaluationDescription, string file, int? line, string globDescription) { throw null; }
+
+ public static EvaluationLocation CreateLocationForProject(long? parentId, EvaluationPass evaluationPass, string evaluationDescription, string file, int? line, IProjectElement element) { throw null; }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public override string ToString() { throw null; }
+
+ public EvaluationLocation WithEvaluationPass(EvaluationPass evaluationPass, string passDescription = null) { throw null; }
+
+ public EvaluationLocation WithFile(string file) { throw null; }
+
+ public EvaluationLocation WithFileLineAndCondition(string file, int? line, string condition) { throw null; }
+
+ public EvaluationLocation WithFileLineAndElement(string file, int? line, IProjectElement element) { throw null; }
+
+ public EvaluationLocation WithGlob(string globDescription) { throw null; }
+
+ public EvaluationLocation WithParentId(long? parentId) { throw null; }
+ }
+
+ public enum EvaluationLocationKind : byte
+ {
+ Element = 0,
+ Condition = 1,
+ Glob = 2
+ }
+
+ public enum EvaluationPass : byte
+ {
+ TotalEvaluation = 0,
+ TotalGlobbing = 1,
+ InitialProperties = 2,
+ Properties = 3,
+ ItemDefinitionGroups = 4,
+ Items = 5,
+ LazyItems = 6,
+ UsingTasks = 7,
+ Targets = 8
+ }
+
+ public partial struct ProfiledLocation
+ {
+ private int _dummyPrimitive;
+ public ProfiledLocation(System.TimeSpan inclusiveTime, System.TimeSpan exclusiveTime, int numberOfHits) { }
+
+ public System.TimeSpan ExclusiveTime { get { throw null; } }
+
+ public System.TimeSpan InclusiveTime { get { throw null; } }
+
+ public int NumberOfHits { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial struct ProfilerResult
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public ProfilerResult(System.Collections.Generic.IDictionary profiledLocations) { }
+
+ public System.Collections.Generic.IReadOnlyDictionary ProfiledLocations { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+ }
+}
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.framework/17.3.4/ref/netstandard2.0/Microsoft.Build.Framework.cs b/src/referencePackages/src/microsoft.build.framework/17.3.4/ref/netstandard2.0/Microsoft.Build.Framework.cs
new file mode 100644
index 0000000000..e9bf94dd65
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.framework/17.3.4/ref/netstandard2.0/Microsoft.Build.Framework.cs
@@ -0,0 +1,1159 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Framework.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Tasks.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Utilities.Core, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Tasks.Core, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("MSBuild, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Conversion.Core, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Engine.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Engine.OM.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Utilities.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.CommandLine.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
+[assembly: System.Resources.NeutralResourcesLanguage("en")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("Release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Microsoft.Build.Framework.dll")]
+[assembly: System.Reflection.AssemblyFileVersion("17.3.4.17815")]
+[assembly: System.Reflection.AssemblyInformationalVersion("17.3.4+a400405ba8c43976eda92a70d4adf72f9d292a22")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® Build Tools®")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Build.Framework.dll")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/msbuild")]
+[assembly: System.Reflection.AssemblyVersionAttribute("15.1.0.0")]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.Build.Framework
+{
+ public delegate void AnyEventHandler(object sender, BuildEventArgs e);
+ public partial struct BuildEngineResult
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public BuildEngineResult(bool result, System.Collections.Generic.List> targetOutputsPerProject) { }
+
+ public bool Result { get { throw null; } }
+
+ public System.Collections.Generic.IList> TargetOutputsPerProject { get { throw null; } }
+ }
+
+ public partial class BuildErrorEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildErrorEventArgs() { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, string helpLink, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildErrorEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName) { }
+
+ public string Code { get { throw null; } }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int EndColumnNumber { get { throw null; } }
+
+ public int EndLineNumber { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public string HelpLink { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public string Subcategory { get { throw null; } }
+ }
+
+ public delegate void BuildErrorEventHandler(object sender, BuildErrorEventArgs e);
+ public abstract partial class BuildEventArgs : System.EventArgs
+ {
+ protected BuildEventArgs() { }
+
+ protected BuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ protected BuildEventArgs(string message, string helpKeyword, string senderName) { }
+
+ public BuildEventContext BuildEventContext { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } }
+
+ public virtual string Message { get { throw null; } protected set { } }
+
+ protected internal string RawMessage { get { throw null; } set { } }
+
+ protected internal System.DateTime RawTimestamp { get { throw null; } set { } }
+
+ public string SenderName { get { throw null; } }
+
+ public int ThreadId { get { throw null; } }
+
+ public System.DateTime Timestamp { get { throw null; } }
+ }
+
+ public partial class BuildEventContext
+ {
+ public const int InvalidEvaluationId = -1;
+ public const int InvalidNodeId = -2;
+ public const int InvalidProjectContextId = -2;
+ public const int InvalidProjectInstanceId = -1;
+ public const int InvalidSubmissionId = -1;
+ public const int InvalidTargetId = -1;
+ public const int InvalidTaskId = -1;
+ public BuildEventContext(int submissionId, int nodeId, int evaluationId, int projectInstanceId, int projectContextId, int targetId, int taskId) { }
+
+ public BuildEventContext(int submissionId, int nodeId, int projectInstanceId, int projectContextId, int targetId, int taskId) { }
+
+ public BuildEventContext(int nodeId, int projectInstanceId, int projectContextId, int targetId, int taskId) { }
+
+ public BuildEventContext(int nodeId, int targetId, int projectContextId, int taskId) { }
+
+ public long BuildRequestId { get { throw null; } }
+
+ public int EvaluationId { get { throw null; } }
+
+ public static BuildEventContext Invalid { get { throw null; } }
+
+ public int NodeId { get { throw null; } }
+
+ public int ProjectContextId { get { throw null; } }
+
+ public int ProjectInstanceId { get { throw null; } }
+
+ public int SubmissionId { get { throw null; } }
+
+ public int TargetId { get { throw null; } }
+
+ public int TaskId { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public static bool operator ==(BuildEventContext left, BuildEventContext right) { throw null; }
+
+ public static bool operator !=(BuildEventContext left, BuildEventContext right) { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class BuildFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected BuildFinishedEventArgs() { }
+
+ public BuildFinishedEventArgs(string message, string helpKeyword, bool succeeded, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildFinishedEventArgs(string message, string helpKeyword, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public BuildFinishedEventArgs(string message, string helpKeyword, bool succeeded) { }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public delegate void BuildFinishedEventHandler(object sender, BuildFinishedEventArgs e);
+ public partial class BuildMessageEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildMessageEventArgs() { }
+
+ public BuildMessageEventArgs(string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildMessageEventArgs(string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp) { }
+
+ public BuildMessageEventArgs(string message, string helpKeyword, string senderName, MessageImportance importance) { }
+
+ public BuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, MessageImportance importance, System.DateTime eventTimestamp) { }
+
+ public BuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, MessageImportance importance) { }
+
+ public string Code { get { throw null; } }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int EndColumnNumber { get { throw null; } }
+
+ public int EndLineNumber { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public MessageImportance Importance { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public string Subcategory { get { throw null; } }
+ }
+
+ public delegate void BuildMessageEventHandler(object sender, BuildMessageEventArgs e);
+ public partial class BuildStartedEventArgs : BuildStatusEventArgs
+ {
+ protected BuildStartedEventArgs() { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword, System.Collections.Generic.IDictionary environmentOfBuild) { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword, System.DateTime eventTimestamp) { }
+
+ public BuildStartedEventArgs(string message, string helpKeyword) { }
+
+ public System.Collections.Generic.IDictionary BuildEnvironment { get { throw null; } }
+ }
+
+ public delegate void BuildStartedEventHandler(object sender, BuildStartedEventArgs e);
+ public abstract partial class BuildStatusEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildStatusEventArgs() { }
+
+ protected BuildStatusEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ protected BuildStatusEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ protected BuildStatusEventArgs(string message, string helpKeyword, string senderName) { }
+ }
+
+ public delegate void BuildStatusEventHandler(object sender, BuildStatusEventArgs e);
+ public partial class BuildWarningEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected BuildWarningEventArgs() { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, string helpLink, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public BuildWarningEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName) { }
+
+ public string Code { get { throw null; } }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int EndColumnNumber { get { throw null; } }
+
+ public int EndLineNumber { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public string HelpLink { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public string Subcategory { get { throw null; } }
+ }
+
+ public delegate void BuildWarningEventHandler(object sender, BuildWarningEventArgs e);
+ public partial class CriticalBuildMessageEventArgs : BuildMessageEventArgs
+ {
+ protected CriticalBuildMessageEventArgs() { }
+
+ public CriticalBuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public CriticalBuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ public CriticalBuildMessageEventArgs(string subcategory, string code, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, string helpKeyword, string senderName) { }
+ }
+
+ public abstract partial class CustomBuildEventArgs : LazyFormattedBuildEventArgs
+ {
+ protected CustomBuildEventArgs() { }
+
+ protected CustomBuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ protected CustomBuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp) { }
+
+ protected CustomBuildEventArgs(string message, string helpKeyword, string senderName) { }
+ }
+
+ public delegate void CustomBuildEventHandler(object sender, CustomBuildEventArgs e);
+ public abstract partial class EngineServices
+ {
+ public const int Version1 = 1;
+ public virtual bool IsTaskInputLoggingEnabled { get { throw null; } }
+
+ public virtual int Version { get { throw null; } }
+
+ public virtual bool LogsMessagesOfImportance(MessageImportance importance) { throw null; }
+ }
+
+ public partial class EnvironmentVariableReadEventArgs : BuildMessageEventArgs
+ {
+ public EnvironmentVariableReadEventArgs() { }
+
+ public EnvironmentVariableReadEventArgs(string environmentVariableName, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string EnvironmentVariableName { get { throw null; } set { } }
+ }
+
+ public partial class ExternalProjectFinishedEventArgs : CustomBuildEventArgs
+ {
+ protected ExternalProjectFinishedEventArgs() { }
+
+ public ExternalProjectFinishedEventArgs(string message, string helpKeyword, string senderName, string projectFile, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public ExternalProjectFinishedEventArgs(string message, string helpKeyword, string senderName, string projectFile, bool succeeded) { }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public partial class ExternalProjectStartedEventArgs : CustomBuildEventArgs
+ {
+ protected ExternalProjectStartedEventArgs() { }
+
+ public ExternalProjectStartedEventArgs(string message, string helpKeyword, string senderName, string projectFile, string targetNames, System.DateTime eventTimestamp) { }
+
+ public ExternalProjectStartedEventArgs(string message, string helpKeyword, string senderName, string projectFile, string targetNames) { }
+
+ public string ProjectFile { get { throw null; } }
+
+ public string TargetNames { get { throw null; } }
+ }
+
+ public partial interface IBuildEngine
+ {
+ int ColumnNumberOfTaskNode { get; }
+
+ bool ContinueOnError { get; }
+
+ int LineNumberOfTaskNode { get; }
+
+ string ProjectFileOfTaskNode { get; }
+
+ bool BuildProjectFile(string projectFileName, string[] targetNames, System.Collections.IDictionary globalProperties, System.Collections.IDictionary targetOutputs);
+ void LogCustomEvent(CustomBuildEventArgs e);
+ void LogErrorEvent(BuildErrorEventArgs e);
+ void LogMessageEvent(BuildMessageEventArgs e);
+ void LogWarningEvent(BuildWarningEventArgs e);
+ }
+
+ public partial interface IBuildEngine10 : IBuildEngine9, IBuildEngine8, IBuildEngine7, IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ EngineServices EngineServices { get; }
+ }
+
+ public partial interface IBuildEngine2 : IBuildEngine
+ {
+ bool IsRunningMultipleNodes { get; }
+
+ bool BuildProjectFile(string projectFileName, string[] targetNames, System.Collections.IDictionary globalProperties, System.Collections.IDictionary targetOutputs, string toolsVersion);
+ bool BuildProjectFilesInParallel(string[] projectFileNames, string[] targetNames, System.Collections.IDictionary[] globalProperties, System.Collections.IDictionary[] targetOutputsPerProject, string[] toolsVersion, bool useResultsCache, bool unloadProjectsOnCompletion);
+ }
+
+ public partial interface IBuildEngine3 : IBuildEngine2, IBuildEngine
+ {
+ BuildEngineResult BuildProjectFilesInParallel(string[] projectFileNames, string[] targetNames, System.Collections.IDictionary[] globalProperties, System.Collections.Generic.IList[] removeGlobalProperties, string[] toolsVersion, bool returnTargetOutputs);
+ void Reacquire();
+ void Yield();
+ }
+
+ public partial interface IBuildEngine4 : IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ object GetRegisteredTaskObject(object key, RegisteredTaskObjectLifetime lifetime);
+ void RegisterTaskObject(object key, object obj, RegisteredTaskObjectLifetime lifetime, bool allowEarlyCollection);
+ object UnregisterTaskObject(object key, RegisteredTaskObjectLifetime lifetime);
+ }
+
+ public partial interface IBuildEngine5 : IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ void LogTelemetry(string eventName, System.Collections.Generic.IDictionary properties);
+ }
+
+ public partial interface IBuildEngine6 : IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ System.Collections.Generic.IReadOnlyDictionary GetGlobalProperties();
+ }
+
+ public partial interface IBuildEngine7 : IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ bool AllowFailureWithoutError { get; set; }
+ }
+
+ public partial interface IBuildEngine8 : IBuildEngine7, IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ bool ShouldTreatWarningAsError(string warningCode);
+ }
+
+ public partial interface IBuildEngine9 : IBuildEngine8, IBuildEngine7, IBuildEngine6, IBuildEngine5, IBuildEngine4, IBuildEngine3, IBuildEngine2, IBuildEngine
+ {
+ void ReleaseCores(int coresToRelease);
+ int RequestCores(int requestedCores);
+ }
+
+ public partial interface ICancelableTask : ITask
+ {
+ void Cancel();
+ }
+
+ public partial interface IEventRedirector
+ {
+ void ForwardEvent(BuildEventArgs buildEvent);
+ }
+
+ public partial interface IEventSource
+ {
+ event AnyEventHandler AnyEventRaised;
+ event BuildFinishedEventHandler BuildFinished;
+ event BuildStartedEventHandler BuildStarted;
+ event CustomBuildEventHandler CustomEventRaised;
+ event BuildErrorEventHandler ErrorRaised;
+ event BuildMessageEventHandler MessageRaised;
+ event ProjectFinishedEventHandler ProjectFinished;
+ event ProjectStartedEventHandler ProjectStarted;
+ event BuildStatusEventHandler StatusEventRaised;
+ event TargetFinishedEventHandler TargetFinished;
+ event TargetStartedEventHandler TargetStarted;
+ event TaskFinishedEventHandler TaskFinished;
+ event TaskStartedEventHandler TaskStarted;
+ event BuildWarningEventHandler WarningRaised;
+ }
+
+ public partial interface IEventSource2 : IEventSource
+ {
+ event TelemetryEventHandler TelemetryLogged;
+ }
+
+ public partial interface IEventSource3 : IEventSource2, IEventSource
+ {
+ void IncludeEvaluationMetaprojects();
+ void IncludeEvaluationProfiles();
+ void IncludeTaskInputs();
+ }
+
+ public partial interface IEventSource4 : IEventSource3, IEventSource2, IEventSource
+ {
+ void IncludeEvaluationPropertiesAndItems();
+ }
+
+ public partial interface IForwardingLogger : INodeLogger, ILogger
+ {
+ IEventRedirector BuildEventRedirector { get; set; }
+
+ int NodeId { get; set; }
+ }
+
+ public partial interface IGeneratedTask : ITask
+ {
+ object GetPropertyValue(TaskPropertyInfo property);
+ void SetPropertyValue(TaskPropertyInfo property, object value);
+ }
+
+ public partial interface ILogger
+ {
+ string Parameters { get; set; }
+
+ LoggerVerbosity Verbosity { get; set; }
+
+ void Initialize(IEventSource eventSource);
+ void Shutdown();
+ }
+
+ public partial interface INodeLogger : ILogger
+ {
+ void Initialize(IEventSource eventSource, int nodeCount);
+ }
+
+ public partial interface IProjectElement
+ {
+ string ElementName { get; }
+
+ string OuterElement { get; }
+ }
+
+ public partial interface ITask
+ {
+ IBuildEngine BuildEngine { get; set; }
+
+ ITaskHost HostObject { get; set; }
+
+ bool Execute();
+ }
+
+ public partial interface ITaskFactory
+ {
+ string FactoryName { get; }
+
+ System.Type TaskType { get; }
+
+ void CleanupTask(ITask task);
+ ITask CreateTask(IBuildEngine taskFactoryLoggingHost);
+ TaskPropertyInfo[] GetTaskParameters();
+ bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, IBuildEngine taskFactoryLoggingHost);
+ }
+
+ public partial interface ITaskFactory2 : ITaskFactory
+ {
+ ITask CreateTask(IBuildEngine taskFactoryLoggingHost, System.Collections.Generic.IDictionary taskIdentityParameters);
+ bool Initialize(string taskName, System.Collections.Generic.IDictionary factoryIdentityParameters, System.Collections.Generic.IDictionary parameterGroup, string taskBody, IBuildEngine taskFactoryLoggingHost);
+ }
+
+ public partial interface ITaskHost
+ {
+ }
+
+ public partial interface ITaskItem
+ {
+ string ItemSpec { get; set; }
+
+ int MetadataCount { get; }
+
+ System.Collections.ICollection MetadataNames { get; }
+
+ System.Collections.IDictionary CloneCustomMetadata();
+ void CopyMetadataTo(ITaskItem destinationItem);
+ string GetMetadata(string metadataName);
+ void RemoveMetadata(string metadataName);
+ void SetMetadata(string metadataName, string metadataValue);
+ }
+
+ public partial interface ITaskItem2 : ITaskItem
+ {
+ string EvaluatedIncludeEscaped { get; set; }
+
+ System.Collections.IDictionary CloneCustomMetadataEscaped();
+ string GetMetadataValueEscaped(string metadataName);
+ void SetMetadataValueLiteral(string metadataName, string metadataValue);
+ }
+
+ public partial class LazyFormattedBuildEventArgs : BuildEventArgs
+ {
+ protected LazyFormattedBuildEventArgs() { }
+
+ public LazyFormattedBuildEventArgs(string message, string helpKeyword, string senderName, System.DateTime eventTimestamp, params object[] messageArgs) { }
+
+ public LazyFormattedBuildEventArgs(string message, string helpKeyword, string senderName) { }
+
+ public override string Message { get { throw null; } }
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
+ public sealed partial class LoadInSeparateAppDomainAttribute : System.Attribute
+ {
+ }
+
+ public partial class LoggerException : System.Exception
+ {
+ public LoggerException() { }
+
+ protected LoggerException(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
+
+ public LoggerException(string message, System.Exception innerException, string errorCode, string helpKeyword) { }
+
+ public LoggerException(string message, System.Exception innerException) { }
+
+ public LoggerException(string message) { }
+
+ public string ErrorCode { get { throw null; } }
+
+ public string HelpKeyword { get { throw null; } }
+
+ public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { }
+ }
+
+ public enum LoggerVerbosity
+ {
+ Quiet = 0,
+ Minimal = 1,
+ Normal = 2,
+ Detailed = 3,
+ Diagnostic = 4
+ }
+
+ public enum MessageImportance
+ {
+ High = 0,
+ Normal = 1,
+ Low = 2
+ }
+
+ public partial class MetaprojectGeneratedEventArgs : BuildMessageEventArgs
+ {
+ public string metaprojectXml;
+ public MetaprojectGeneratedEventArgs(string metaprojectXml, string metaprojectPath, string message) { }
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
+ public sealed partial class OutputAttribute : System.Attribute
+ {
+ }
+
+ public sealed partial class ProjectEvaluationFinishedEventArgs : BuildStatusEventArgs
+ {
+ public ProjectEvaluationFinishedEventArgs() { }
+
+ public ProjectEvaluationFinishedEventArgs(string message, params object[] messageArgs) { }
+
+ public System.Collections.IEnumerable GlobalProperties { get { throw null; } set { } }
+
+ public System.Collections.IEnumerable Items { get { throw null; } set { } }
+
+ public Profiler.ProfilerResult? ProfilerResult { get { throw null; } set { } }
+
+ public string ProjectFile { get { throw null; } set { } }
+
+ public System.Collections.IEnumerable Properties { get { throw null; } set { } }
+ }
+
+ public partial class ProjectEvaluationStartedEventArgs : BuildStatusEventArgs
+ {
+ public ProjectEvaluationStartedEventArgs() { }
+
+ public ProjectEvaluationStartedEventArgs(string message, params object[] messageArgs) { }
+
+ public string ProjectFile { get { throw null; } set { } }
+ }
+
+ public partial class ProjectFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected ProjectFinishedEventArgs() { }
+
+ public ProjectFinishedEventArgs(string message, string helpKeyword, string projectFile, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public ProjectFinishedEventArgs(string message, string helpKeyword, string projectFile, bool succeeded) { }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public delegate void ProjectFinishedEventHandler(object sender, ProjectFinishedEventArgs e);
+ public partial class ProjectImportedEventArgs : BuildMessageEventArgs
+ {
+ public ProjectImportedEventArgs() { }
+
+ public ProjectImportedEventArgs(int lineNumber, int columnNumber, string message, params object[] messageArgs) { }
+
+ public string ImportedProjectFile { get { throw null; } set { } }
+
+ public bool ImportIgnored { get { throw null; } set { } }
+
+ public string UnexpandedProject { get { throw null; } set { } }
+ }
+
+ public partial class ProjectStartedEventArgs : BuildStatusEventArgs
+ {
+ public const int InvalidProjectId = -1;
+ protected ProjectStartedEventArgs() { }
+
+ public ProjectStartedEventArgs(int projectId, string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, BuildEventContext parentBuildEventContext, System.Collections.Generic.IDictionary globalProperties, string toolsVersion) { }
+
+ public ProjectStartedEventArgs(int projectId, string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, BuildEventContext parentBuildEventContext, System.DateTime eventTimestamp) { }
+
+ public ProjectStartedEventArgs(int projectId, string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, BuildEventContext parentBuildEventContext) { }
+
+ public ProjectStartedEventArgs(string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items, System.DateTime eventTimestamp) { }
+
+ public ProjectStartedEventArgs(string message, string helpKeyword, string projectFile, string targetNames, System.Collections.IEnumerable properties, System.Collections.IEnumerable items) { }
+
+ public System.Collections.Generic.IDictionary GlobalProperties { get { throw null; } }
+
+ public System.Collections.IEnumerable Items { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+
+ public BuildEventContext ParentProjectBuildEventContext { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public int ProjectId { get { throw null; } }
+
+ public System.Collections.IEnumerable Properties { get { throw null; } }
+
+ public string TargetNames { get { throw null; } }
+
+ public string ToolsVersion { get { throw null; } }
+ }
+
+ public delegate void ProjectStartedEventHandler(object sender, ProjectStartedEventArgs e);
+ public partial class PropertyInitialValueSetEventArgs : BuildMessageEventArgs
+ {
+ public PropertyInitialValueSetEventArgs() { }
+
+ public PropertyInitialValueSetEventArgs(string propertyName, string propertyValue, string propertySource, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string PropertyName { get { throw null; } set { } }
+
+ public string PropertySource { get { throw null; } set { } }
+
+ public string PropertyValue { get { throw null; } set { } }
+ }
+
+ public partial class PropertyReassignmentEventArgs : BuildMessageEventArgs
+ {
+ public PropertyReassignmentEventArgs() { }
+
+ public PropertyReassignmentEventArgs(string propertyName, string previousValue, string newValue, string location, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string Location { get { throw null; } set { } }
+
+ public override string Message { get { throw null; } }
+
+ public string NewValue { get { throw null; } set { } }
+
+ public string PreviousValue { get { throw null; } set { } }
+
+ public string PropertyName { get { throw null; } set { } }
+ }
+
+ public enum RegisteredTaskObjectLifetime
+ {
+ Build = 0,
+ AppDomain = 1
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RequiredAttribute : System.Attribute
+ {
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RequiredRuntimeAttribute : System.Attribute
+ {
+ public RequiredRuntimeAttribute(string runtimeVersion) { }
+
+ public string RuntimeVersion { get { throw null; } }
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RunInMTAAttribute : System.Attribute
+ {
+ }
+
+ [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
+ public sealed partial class RunInSTAAttribute : System.Attribute
+ {
+ }
+
+ public abstract partial class SdkLogger
+ {
+ public abstract void LogMessage(string message, MessageImportance messageImportance = MessageImportance.Low);
+ }
+
+ public sealed partial class SdkReference : System.IEquatable
+ {
+ public SdkReference(string name, string version, string minimumVersion) { }
+
+ public string MinimumVersion { get { throw null; } }
+
+ public string Name { get { throw null; } }
+
+ public string Version { get { throw null; } }
+
+ public bool Equals(SdkReference other) { throw null; }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public override string ToString() { throw null; }
+
+ public static bool TryParse(string sdk, out SdkReference sdkReference) { throw null; }
+ }
+
+ public abstract partial class SdkResolver
+ {
+ public abstract string Name { get; }
+ public abstract int Priority { get; }
+
+ public abstract SdkResult Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory);
+ }
+
+ public abstract partial class SdkResolverContext
+ {
+ public virtual bool Interactive { get { throw null; } protected set { } }
+
+ public virtual bool IsRunningInVisualStudio { get { throw null; } protected set { } }
+
+ public virtual SdkLogger Logger { get { throw null; } protected set { } }
+
+ public virtual System.Version MSBuildVersion { get { throw null; } protected set { } }
+
+ public virtual string ProjectFilePath { get { throw null; } protected set { } }
+
+ public virtual string SolutionFilePath { get { throw null; } protected set { } }
+
+ public virtual object State { get { throw null; } set { } }
+ }
+
+ public abstract partial class SdkResult
+ {
+ public virtual System.Collections.Generic.IList AdditionalPaths { get { throw null; } set { } }
+
+ public virtual System.Collections.Generic.IDictionary ItemsToAdd { get { throw null; } protected set { } }
+
+ public virtual string Path { get { throw null; } protected set { } }
+
+ public virtual System.Collections.Generic.IDictionary PropertiesToAdd { get { throw null; } protected set { } }
+
+ public virtual SdkReference SdkReference { get { throw null; } protected set { } }
+
+ public virtual bool Success { get { throw null; } protected set { } }
+
+ public virtual string Version { get { throw null; } protected set { } }
+ }
+
+ public abstract partial class SdkResultFactory
+ {
+ public abstract SdkResult IndicateFailure(System.Collections.Generic.IEnumerable errors, System.Collections.Generic.IEnumerable warnings = null);
+ public virtual SdkResult IndicateSuccess(System.Collections.Generic.IEnumerable paths, string version, System.Collections.Generic.IDictionary propertiesToAdd = null, System.Collections.Generic.IDictionary itemsToAdd = null, System.Collections.Generic.IEnumerable warnings = null) { throw null; }
+
+ public virtual SdkResult IndicateSuccess(string path, string version, System.Collections.Generic.IDictionary propertiesToAdd, System.Collections.Generic.IDictionary itemsToAdd, System.Collections.Generic.IEnumerable warnings = null) { throw null; }
+
+ public abstract SdkResult IndicateSuccess(string path, string version, System.Collections.Generic.IEnumerable warnings = null);
+ }
+
+ public partial class SdkResultItem
+ {
+ public SdkResultItem() { }
+
+ public SdkResultItem(string itemSpec, System.Collections.Generic.Dictionary? metadata) { }
+
+ public string ItemSpec { get { throw null; } set { } }
+
+ public System.Collections.Generic.Dictionary? Metadata { get { throw null; } }
+
+ public override bool Equals(object? obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+ }
+
+ public enum TargetBuiltReason
+ {
+ None = 0,
+ BeforeTargets = 1,
+ DependsOn = 2,
+ AfterTargets = 3
+ }
+
+ public partial class TargetFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected TargetFinishedEventArgs() { }
+
+ public TargetFinishedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, bool succeeded, System.Collections.IEnumerable targetOutputs) { }
+
+ public TargetFinishedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, bool succeeded, System.DateTime eventTimestamp, System.Collections.IEnumerable targetOutputs) { }
+
+ public TargetFinishedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, bool succeeded) { }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+
+ public string TargetFile { get { throw null; } }
+
+ public string TargetName { get { throw null; } }
+
+ public System.Collections.IEnumerable TargetOutputs { get { throw null; } set { } }
+ }
+
+ public delegate void TargetFinishedEventHandler(object sender, TargetFinishedEventArgs e);
+ public partial class TargetSkippedEventArgs : BuildMessageEventArgs
+ {
+ public TargetSkippedEventArgs() { }
+
+ public TargetSkippedEventArgs(string message, params object[] messageArgs) { }
+
+ public TargetBuiltReason BuildReason { get { throw null; } set { } }
+
+ public string Condition { get { throw null; } set { } }
+
+ public string EvaluatedCondition { get { throw null; } set { } }
+
+ public override string Message { get { throw null; } }
+
+ public BuildEventContext OriginalBuildEventContext { get { throw null; } set { } }
+
+ public bool OriginallySucceeded { get { throw null; } set { } }
+
+ public string ParentTarget { get { throw null; } set { } }
+
+ public TargetSkipReason SkipReason { get { throw null; } set { } }
+
+ public string TargetFile { get { throw null; } set { } }
+
+ public string TargetName { get { throw null; } set { } }
+ }
+
+ public enum TargetSkipReason
+ {
+ None = 0,
+ PreviouslyBuiltSuccessfully = 1,
+ PreviouslyBuiltUnsuccessfully = 2,
+ OutputsUpToDate = 3,
+ ConditionWasFalse = 4
+ }
+
+ public partial class TargetStartedEventArgs : BuildStatusEventArgs
+ {
+ protected TargetStartedEventArgs() { }
+
+ public TargetStartedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, string parentTarget, TargetBuiltReason buildReason, System.DateTime eventTimestamp) { }
+
+ public TargetStartedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile, string parentTarget, System.DateTime eventTimestamp) { }
+
+ public TargetStartedEventArgs(string message, string helpKeyword, string targetName, string projectFile, string targetFile) { }
+
+ public TargetBuiltReason BuildReason { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+
+ public string ParentTarget { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public string TargetFile { get { throw null; } }
+
+ public string TargetName { get { throw null; } }
+ }
+
+ public delegate void TargetStartedEventHandler(object sender, TargetStartedEventArgs e);
+ public partial class TaskCommandLineEventArgs : BuildMessageEventArgs
+ {
+ protected TaskCommandLineEventArgs() { }
+
+ public TaskCommandLineEventArgs(string commandLine, string taskName, MessageImportance importance, System.DateTime eventTimestamp) { }
+
+ public TaskCommandLineEventArgs(string commandLine, string taskName, MessageImportance importance) { }
+
+ public string CommandLine { get { throw null; } }
+
+ public string TaskName { get { throw null; } }
+ }
+
+ public partial class TaskFinishedEventArgs : BuildStatusEventArgs
+ {
+ protected TaskFinishedEventArgs() { }
+
+ public TaskFinishedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName, bool succeeded, System.DateTime eventTimestamp) { }
+
+ public TaskFinishedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName, bool succeeded) { }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+
+ public string TaskFile { get { throw null; } }
+
+ public string TaskName { get { throw null; } }
+ }
+
+ public delegate void TaskFinishedEventHandler(object sender, TaskFinishedEventArgs e);
+ public partial class TaskParameterEventArgs : BuildMessageEventArgs
+ {
+ public TaskParameterEventArgs(TaskParameterMessageKind kind, string itemType, System.Collections.IList items, bool logItemMetadata, System.DateTime eventTimestamp) { }
+
+ public System.Collections.IList Items { get { throw null; } }
+
+ public string ItemType { get { throw null; } }
+
+ public TaskParameterMessageKind Kind { get { throw null; } }
+
+ public bool LogItemMetadata { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+ }
+
+ public enum TaskParameterMessageKind
+ {
+ TaskInput = 0,
+ TaskOutput = 1,
+ AddItem = 2,
+ RemoveItem = 3,
+ SkippedTargetInputs = 4,
+ SkippedTargetOutputs = 5
+ }
+
+ public partial class TaskPropertyInfo
+ {
+ public TaskPropertyInfo(string name, System.Type typeOfParameter, bool output, bool required) { }
+
+ public bool Log { get { throw null; } set { } }
+
+ public bool LogItemMetadata { get { throw null; } set { } }
+
+ public string Name { get { throw null; } }
+
+ public bool Output { get { throw null; } }
+
+ public System.Type PropertyType { get { throw null; } }
+
+ public bool Required { get { throw null; } }
+ }
+
+ public partial class TaskStartedEventArgs : BuildStatusEventArgs
+ {
+ protected TaskStartedEventArgs() { }
+
+ public TaskStartedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName, System.DateTime eventTimestamp) { }
+
+ public TaskStartedEventArgs(string message, string helpKeyword, string projectFile, string taskFile, string taskName) { }
+
+ public int ColumnNumber { get { throw null; } }
+
+ public int LineNumber { get { throw null; } }
+
+ public override string Message { get { throw null; } }
+
+ public string ProjectFile { get { throw null; } }
+
+ public string TaskFile { get { throw null; } }
+
+ public string TaskName { get { throw null; } }
+ }
+
+ public delegate void TaskStartedEventHandler(object sender, TaskStartedEventArgs e);
+ public sealed partial class TelemetryEventArgs : BuildEventArgs
+ {
+ public string EventName { get { throw null; } set { } }
+
+ public System.Collections.Generic.IDictionary Properties { get { throw null; } set { } }
+ }
+
+ public delegate void TelemetryEventHandler(object sender, TelemetryEventArgs e);
+ public partial class UninitializedPropertyReadEventArgs : BuildMessageEventArgs
+ {
+ public UninitializedPropertyReadEventArgs() { }
+
+ public UninitializedPropertyReadEventArgs(string propertyName, string message, string helpKeyword = null, string senderName = null, MessageImportance importance = MessageImportance.Low) { }
+
+ public string PropertyName { get { throw null; } set { } }
+ }
+}
+
+namespace Microsoft.Build.Framework.Profiler
+{
+ public partial struct EvaluationLocation
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public EvaluationLocation(EvaluationPass evaluationPass, string evaluationPassDescription, string file, int? line, string elementName, string elementDescription, EvaluationLocationKind kind) { }
+
+ public EvaluationLocation(long id, long? parentId, EvaluationPass evaluationPass, string evaluationPassDescription, string file, int? line, string elementName, string elementDescription, EvaluationLocationKind kind) { }
+
+ public EvaluationLocation(long? parentId, EvaluationPass evaluationPass, string evaluationPassDescription, string file, int? line, string elementName, string elementDescription, EvaluationLocationKind kind) { }
+
+ public string ElementDescription { get { throw null; } }
+
+ public string ElementName { get { throw null; } }
+
+ public static EvaluationLocation EmptyLocation { get { throw null; } }
+
+ public EvaluationPass EvaluationPass { get { throw null; } }
+
+ public string EvaluationPassDescription { get { throw null; } }
+
+ public string File { get { throw null; } }
+
+ public long Id { get { throw null; } }
+
+ public bool IsEvaluationPass { get { throw null; } }
+
+ public EvaluationLocationKind Kind { get { throw null; } }
+
+ public int? Line { get { throw null; } }
+
+ public long? ParentId { get { throw null; } }
+
+ public static EvaluationLocation CreateLocationForAggregatedGlob() { throw null; }
+
+ public static EvaluationLocation CreateLocationForCondition(long? parentId, EvaluationPass evaluationPass, string evaluationDescription, string file, int? line, string condition) { throw null; }
+
+ public static EvaluationLocation CreateLocationForGlob(long? parentId, EvaluationPass evaluationPass, string evaluationDescription, string file, int? line, string globDescription) { throw null; }
+
+ public static EvaluationLocation CreateLocationForProject(long? parentId, EvaluationPass evaluationPass, string evaluationDescription, string file, int? line, IProjectElement element) { throw null; }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public override string ToString() { throw null; }
+
+ public EvaluationLocation WithEvaluationPass(EvaluationPass evaluationPass, string passDescription = null) { throw null; }
+
+ public EvaluationLocation WithFile(string file) { throw null; }
+
+ public EvaluationLocation WithFileLineAndCondition(string file, int? line, string condition) { throw null; }
+
+ public EvaluationLocation WithFileLineAndElement(string file, int? line, IProjectElement element) { throw null; }
+
+ public EvaluationLocation WithGlob(string globDescription) { throw null; }
+
+ public EvaluationLocation WithParentId(long? parentId) { throw null; }
+ }
+
+ public enum EvaluationLocationKind : byte
+ {
+ Element = 0,
+ Condition = 1,
+ Glob = 2
+ }
+
+ public enum EvaluationPass : byte
+ {
+ TotalEvaluation = 0,
+ TotalGlobbing = 1,
+ InitialProperties = 2,
+ Properties = 3,
+ ItemDefinitionGroups = 4,
+ Items = 5,
+ LazyItems = 6,
+ UsingTasks = 7,
+ Targets = 8
+ }
+
+ public partial struct ProfiledLocation
+ {
+ private int _dummyPrimitive;
+ public ProfiledLocation(System.TimeSpan inclusiveTime, System.TimeSpan exclusiveTime, int numberOfHits) { }
+
+ public System.TimeSpan ExclusiveTime { get { throw null; } }
+
+ public System.TimeSpan InclusiveTime { get { throw null; } }
+
+ public int NumberOfHits { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial struct ProfilerResult
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public ProfilerResult(System.Collections.Generic.IDictionary profiledLocations) { }
+
+ public System.Collections.Generic.IReadOnlyDictionary ProfiledLocations { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+ }
+}
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/Microsoft.Build.Tasks.Core.17.3.4.csproj b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/Microsoft.Build.Tasks.Core.17.3.4.csproj
new file mode 100644
index 0000000000..caa7eec465
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/Microsoft.Build.Tasks.Core.17.3.4.csproj
@@ -0,0 +1,38 @@
+
+
+
+ net6.0;netstandard2.0
+ Microsoft.Build.Tasks.Core
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/microsoft.build.tasks.core.nuspec b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/microsoft.build.tasks.core.nuspec
new file mode 100644
index 0000000000..e9445e20b5
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/microsoft.build.tasks.core.nuspec
@@ -0,0 +1,47 @@
+
+
+
+ Microsoft.Build.Tasks.Core
+ 17.3.4
+ Microsoft
+ true
+ MIT
+ https://licenses.nuget.org/MIT
+ http://go.microsoft.com/fwlink/?LinkId=624683
+ https://go.microsoft.com/fwlink/?linkid=825694
+ This package contains the Microsoft.Build.Tasks assembly which implements the commonly used tasks of MSBuild.
+ © Microsoft Corporation. All rights reserved.
+ MSBuild
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/ref/net6.0/Microsoft.Build.Tasks.Core.cs b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/ref/net6.0/Microsoft.Build.Tasks.Core.cs
new file mode 100644
index 0000000000..767bb73a41
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/ref/net6.0/Microsoft.Build.Tasks.Core.cs
@@ -0,0 +1,3162 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Tasks.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
+[assembly: System.Resources.NeutralResourcesLanguage("en")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("Release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Microsoft.Build.Tasks.Core.dll")]
+[assembly: System.Reflection.AssemblyFileVersion("17.3.4.17815")]
+[assembly: System.Reflection.AssemblyInformationalVersion("17.3.4+a400405ba8c43976eda92a70d4adf72f9d292a22")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® Build Tools®")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Build.Tasks.Core.dll")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/msbuild")]
+[assembly: System.Reflection.AssemblyVersionAttribute("15.1.0.0")]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.Build.Tasks
+{
+ public partial class AssignCulture : TaskExtension
+ {
+ public AssignCulture() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFilesWithCulture { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFilesWithNoCulture { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CultureNeutralAssignedFiles { get { throw null; } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class AssignLinkMetadata : TaskExtension
+ {
+ public AssignLinkMetadata() { }
+
+ public Framework.ITaskItem[] Items { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputItems { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class AssignProjectConfiguration : ResolveProjectBase
+ {
+ public bool AddSyntheticProjectReferencesForSolutionDependencies { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedProjects { get { throw null; } set { } }
+
+ public string CurrentProject { get { throw null; } set { } }
+
+ public string CurrentProjectConfiguration { get { throw null; } set { } }
+
+ public string CurrentProjectPlatform { get { throw null; } set { } }
+
+ public string DefaultToVcxPlatformMapping { get { throw null; } set { } }
+
+ public bool OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration { get { throw null; } set { } }
+
+ public string OutputType { get { throw null; } set { } }
+
+ public bool ResolveConfigurationPlatformUsingMappings { get { throw null; } set { } }
+
+ public bool ShouldUnsetParentConfigurationAndPlatform { get { throw null; } set { } }
+
+ public string SolutionConfigurationContents { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] UnassignedProjects { get { throw null; } set { } }
+
+ public string VcxToDefaultPlatformMapping { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class AssignTargetPath : TaskExtension
+ {
+ public AssignTargetPath() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFiles { get { throw null; } }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string RootFolder { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [Framework.RunInMTA]
+ public partial class CallTarget : TaskExtension
+ {
+ public CallTarget() { }
+
+ public bool RunEachTargetSeparately { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] TargetOutputs { get { throw null; } }
+
+ public string[] Targets { get { throw null; } set { } }
+
+ public bool UseResultsCache { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [System.Obsolete("The CodeTaskFactory is not supported on .NET Core. This class is included so that users receive run-time errors and should not be used for any other purpose.", true)]
+ public sealed partial class CodeTaskFactory : Framework.ITaskFactory
+ {
+ public string FactoryName { get { throw null; } }
+
+ public System.Type TaskType { get { throw null; } }
+
+ public void CleanupTask(Framework.ITask task) { }
+
+ public Framework.ITask CreateTask(Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+
+ public Framework.TaskPropertyInfo[] GetTaskParameters() { throw null; }
+
+ public bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+ }
+
+ public partial class CombinePath : TaskExtension
+ {
+ public CombinePath() { }
+
+ public string BasePath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CombinedPaths { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Paths { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CombineTargetFrameworkInfoProperties : TaskExtension
+ {
+ public CombineTargetFrameworkInfoProperties() { }
+
+ public Framework.ITaskItem[] PropertiesAndValues { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string Result { get { throw null; } set { } }
+
+ public string RootElementName { get { throw null; } set { } }
+
+ public bool UseAttributeForTargetFrameworkInfoPropertyNames { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CombineXmlElements : TaskExtension
+ {
+ public CombineXmlElements() { }
+
+ [Framework.Output]
+ public string Result { get { throw null; } set { } }
+
+ public string RootElementName { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] XmlElements { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CommandLineBuilderExtension : Utilities.CommandLineBuilder
+ {
+ public CommandLineBuilderExtension() { }
+
+ public CommandLineBuilderExtension(bool quoteHyphensOnCommandLine, bool useNewLineSeparator) { }
+
+ protected string GetQuotedText(string unquotedText) { throw null; }
+ }
+
+ public partial class ConvertToAbsolutePath : TaskExtension
+ {
+ public ConvertToAbsolutePath() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AbsolutePaths { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Paths { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Copy : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Copy() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CopiedFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DestinationFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ public bool ErrorIfLinkFails { get { throw null; } set { } }
+
+ public bool OverwriteReadOnlyFiles { get { throw null; } set { } }
+
+ public int Retries { get { throw null; } set { } }
+
+ public int RetryDelayMilliseconds { get { throw null; } set { } }
+
+ public bool SkipUnchangedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SourceFiles { get { throw null; } set { } }
+
+ public bool UseHardlinksIfPossible { get { throw null; } set { } }
+
+ public bool UseSymboliclinksIfPossible { get { throw null; } set { } }
+
+ [Framework.Output]
+ public bool WroteAtLeastOneFile { get { throw null; } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CreateCSharpManifestResourceName : CreateManifestResourceName
+ {
+ protected override string SourceFileExtension { get { throw null; } }
+
+ protected override string CreateManifestName(string fileName, string linkFileName, string rootNamespace, string dependentUponFileName, System.IO.Stream binaryStream) { throw null; }
+
+ protected override bool IsSourceFile(string fileName) { throw null; }
+ }
+
+ public partial class CreateItem : TaskExtension
+ {
+ public CreateItem() { }
+
+ public string[] AdditionalMetadata { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Exclude { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Include { get { throw null; } set { } }
+
+ public bool PreserveExistingMetadata { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class CreateManifestResourceName : TaskExtension
+ {
+ protected System.Collections.Generic.Dictionary itemSpecToTaskitem;
+ protected CreateManifestResourceName() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ManifestResourceNames { get { throw null; } }
+
+ public bool PrependCultureAsDirectory { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] ResourceFiles { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResourceFilesWithManifestResourceNames { get { throw null; } set { } }
+
+ public string RootNamespace { get { throw null; } set { } }
+
+ protected abstract string SourceFileExtension { get; }
+
+ public bool UseDependentUponConvention { get { throw null; } set { } }
+
+ protected abstract string CreateManifestName(string fileName, string linkFileName, string rootNamespaceName, string dependentUponFileName, System.IO.Stream binaryStream);
+ public override bool Execute() { throw null; }
+
+ protected abstract bool IsSourceFile(string fileName);
+ public static string MakeValidEverettIdentifier(string name) { throw null; }
+ }
+
+ public partial class CreateProperty : TaskExtension
+ {
+ public CreateProperty() { }
+
+ [Framework.Output]
+ public string[] Value { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string[] ValueSetByTask { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CreateVisualBasicManifestResourceName : CreateManifestResourceName
+ {
+ protected override string SourceFileExtension { get { throw null; } }
+
+ protected override string CreateManifestName(string fileName, string linkFileName, string rootNamespace, string dependentUponFileName, System.IO.Stream binaryStream) { throw null; }
+
+ protected override bool IsSourceFile(string fileName) { throw null; }
+ }
+
+ public partial class Delete : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Delete() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DeletedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool TreatErrorsAsWarnings { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class DownloadFile : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public DownloadFile() { }
+
+ public Framework.ITaskItem DestinationFileName { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem DownloadedFile { get { throw null; } set { } }
+
+ public int Retries { get { throw null; } set { } }
+
+ public int RetryDelayMilliseconds { get { throw null; } set { } }
+
+ public bool SkipUnchangedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string SourceUrl { get { throw null; } set { } }
+
+ public int Timeout { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Error : TaskExtension
+ {
+ public Error() { }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ public string HelpLink { get { throw null; } set { } }
+
+ public string Text { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ErrorFromResources : TaskExtension
+ {
+ public ErrorFromResources() { }
+
+ public string[] Arguments { get { throw null; } set { } }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string Resource { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Exec : ToolTaskExtension
+ {
+ public Exec() { }
+
+ [Framework.Required]
+ public string Command { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ConsoleOutput { get { throw null; } }
+
+ public bool ConsoleToMSBuild { get { throw null; } set { } }
+
+ public string CustomErrorRegularExpression { get { throw null; } set { } }
+
+ public string CustomWarningRegularExpression { get { throw null; } set { } }
+
+ public bool IgnoreExitCode { get { throw null; } set { } }
+
+ public bool IgnoreStandardErrorWarningFormat { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Outputs { get { throw null; } set { } }
+
+ protected override System.Text.Encoding StandardErrorEncoding { get { throw null; } }
+
+ protected override Framework.MessageImportance StandardErrorLoggingImportance { get { throw null; } }
+
+ protected override System.Text.Encoding StandardOutputEncoding { get { throw null; } }
+
+ protected override Framework.MessageImportance StandardOutputLoggingImportance { get { throw null; } }
+
+ [Framework.Output]
+ public string StdErrEncoding { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string StdOutEncoding { get { throw null; } set { } }
+
+ protected override string ToolName { get { throw null; } }
+
+ public string WorkingDirectory { get { throw null; } set { } }
+
+ protected internal override void AddCommandLineCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected override int ExecuteTool(string pathToTool, string responseFileCommands, string commandLineCommands) { throw null; }
+
+ protected override string GenerateFullPathToTool() { throw null; }
+
+ protected override string GetWorkingDirectory() { throw null; }
+
+ protected override bool HandleTaskExecutionErrors() { throw null; }
+
+ protected override void LogEventsFromTextOutput(string singleLine, Framework.MessageImportance messageImportance) { }
+
+ protected override void LogPathToTool(string toolName, string pathToTool) { }
+
+ protected override void LogToolCommand(string message) { }
+
+ protected override bool ValidateParameters() { throw null; }
+ }
+
+ public partial struct ExtractedClassName
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public bool IsInsideConditionalBlock { get { throw null; } set { } }
+
+ public string Name { get { throw null; } set { } }
+ }
+
+ public partial class FindAppConfigFile : TaskExtension
+ {
+ public FindAppConfigFile() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem AppConfigFile { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] PrimaryList { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SecondaryList { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class FindInList : TaskExtension
+ {
+ public FindInList() { }
+
+ public bool CaseSensitive { get { throw null; } set { } }
+
+ public bool FindLastMatch { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem ItemFound { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string ItemSpecToFind { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] List { get { throw null; } set { } }
+
+ public bool MatchFileNameOnly { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class FindInvalidProjectReferences : TaskExtension
+ {
+ public FindInvalidProjectReferences() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] InvalidReferences { get { throw null; } }
+
+ public Framework.ITaskItem[] ProjectReferences { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class FindUnderPath : TaskExtension
+ {
+ public FindUnderPath() { }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] InPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutOfPath { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem Path { get { throw null; } set { } }
+
+ public bool UpdateToAbsolutePaths { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class FormatUrl : TaskExtension
+ {
+ public FormatUrl() { }
+
+ public string InputUrl { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string OutputUrl { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class FormatVersion : TaskExtension
+ {
+ public FormatVersion() { }
+
+ public string FormatType { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string OutputVersion { get { throw null; } set { } }
+
+ public int Revision { get { throw null; } set { } }
+
+ public string Version { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public sealed partial class GenerateApplicationManifest : GenerateManifestBase
+ {
+ public string ClrVersion { get { throw null; } set { } }
+
+ public Framework.ITaskItem ConfigFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Dependencies { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] FileAssociations { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool HostInBrowser { get { throw null; } set { } }
+
+ public Framework.ITaskItem IconFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] IsolatedComReferences { get { throw null; } set { } }
+
+ public string ManifestType { get { throw null; } set { } }
+
+ public string OSVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public bool RequiresMinimumFramework35SP1 { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public string TargetFrameworkProfile { get { throw null; } set { } }
+
+ public string TargetFrameworkSubset { get { throw null; } set { } }
+
+ public Framework.ITaskItem TrustInfoFile { get { throw null; } set { } }
+
+ public bool UseApplicationTrust { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+
+ protected override System.Type GetObjectType() { throw null; }
+
+ protected override bool OnManifestLoaded(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected override bool OnManifestResolved(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected internal override bool ValidateInputs() { throw null; }
+ }
+
+ public partial class GenerateBindingRedirects : TaskExtension
+ {
+ public GenerateBindingRedirects() { }
+
+ public Framework.ITaskItem AppConfigFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputAppConfigFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] SuggestedRedirects { get { throw null; } set { } }
+
+ public string TargetName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public sealed partial class GenerateDeploymentManifest : GenerateManifestBase
+ {
+ public bool CreateDesktopShortcut { get { throw null; } set { } }
+
+ public string DeploymentUrl { get { throw null; } set { } }
+
+ public bool DisallowUrlActivation { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public bool Install { get { throw null; } set { } }
+
+ public bool MapFileExtensions { get { throw null; } set { } }
+
+ public string MinimumRequiredVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public bool TrustUrlParameters { get { throw null; } set { } }
+
+ public bool UpdateEnabled { get { throw null; } set { } }
+
+ public int UpdateInterval { get { throw null; } set { } }
+
+ public string UpdateMode { get { throw null; } set { } }
+
+ public string UpdateUnit { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+
+ protected override System.Type GetObjectType() { throw null; }
+
+ protected override bool OnManifestLoaded(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected override bool OnManifestResolved(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected internal override bool ValidateInputs() { throw null; }
+ }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public sealed partial class GenerateLauncher : TaskExtension
+ {
+ public GenerateLauncher() { }
+
+ public string AssemblyName { get { throw null; } set { } }
+
+ public Framework.ITaskItem EntryPoint { get { throw null; } set { } }
+
+ public string LauncherPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputEntryPoint { get { throw null; } set { } }
+
+ public string OutputPath { get { throw null; } set { } }
+
+ public string VisualStudioVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class GenerateManifestBase : Utilities.Task
+ {
+ public string AssemblyName { get { throw null; } set { } }
+
+ public string AssemblyVersion { get { throw null; } set { } }
+
+ public string Description { get { throw null; } set { } }
+
+ public Framework.ITaskItem EntryPoint { get { throw null; } set { } }
+
+ public Framework.ITaskItem InputManifest { get { throw null; } set { } }
+
+ public bool LauncherBasedDeployment { get { throw null; } set { } }
+
+ public int MaxTargetPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputManifest { get { throw null; } set { } }
+
+ public string Platform { get { throw null; } set { } }
+
+ public string TargetCulture { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ protected internal Deployment.ManifestUtilities.AssemblyReference AddAssemblyFromItem(Framework.ITaskItem item) { throw null; }
+
+ protected internal Deployment.ManifestUtilities.AssemblyReference AddAssemblyNameFromItem(Framework.ITaskItem item, Deployment.ManifestUtilities.AssemblyReferenceType referenceType) { throw null; }
+
+ protected internal Deployment.ManifestUtilities.AssemblyReference AddEntryPointFromItem(Framework.ITaskItem item, Deployment.ManifestUtilities.AssemblyReferenceType referenceType) { throw null; }
+
+ protected internal Deployment.ManifestUtilities.FileReference AddFileFromItem(Framework.ITaskItem item) { throw null; }
+
+ public override bool Execute() { throw null; }
+
+ protected internal Deployment.ManifestUtilities.FileReference FindFileFromItem(Framework.ITaskItem item) { throw null; }
+
+ protected abstract System.Type GetObjectType();
+ protected abstract bool OnManifestLoaded(Deployment.ManifestUtilities.Manifest manifest);
+ protected abstract bool OnManifestResolved(Deployment.ManifestUtilities.Manifest manifest);
+ protected internal virtual bool ValidateInputs() { throw null; }
+
+ protected internal virtual bool ValidateOutput() { throw null; }
+ }
+
+ [Framework.RequiredRuntime("v2.0")]
+ public sealed partial class GenerateResource : TaskExtension
+ {
+ public GenerateResource() { }
+
+ public Framework.ITaskItem[] AdditionalInputs { get { throw null; } set { } }
+
+ public string[] EnvironmentVariables { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ExcludedInputPaths { get { throw null; } set { } }
+
+ public bool ExecuteAsTool { get { throw null; } set { } }
+
+ public bool ExtractResWFiles { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] FilesWritten { get { throw null; } }
+
+ public bool MinimalRebuildFromTracking { get { throw null; } set { } }
+
+ public bool NeverLockTypeAssemblies { get { throw null; } set { } }
+
+ public string OutputDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputResources { get { throw null; } set { } }
+
+ public bool PublicClass { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] References { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ [Framework.Required]
+ [Framework.Output]
+ public Framework.ITaskItem[] Sources { get { throw null; } set { } }
+
+ public Framework.ITaskItem StateFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string StronglyTypedClassName { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string StronglyTypedFileName { get { throw null; } set { } }
+
+ public string StronglyTypedLanguage { get { throw null; } set { } }
+
+ public string StronglyTypedManifestPrefix { get { throw null; } set { } }
+
+ public string StronglyTypedNamespace { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] TLogReadFiles { get { throw null; } }
+
+ public Framework.ITaskItem[] TLogWriteFiles { get { throw null; } }
+
+ public string ToolArchitecture { get { throw null; } set { } }
+
+ public string TrackerFrameworkPath { get { throw null; } set { } }
+
+ public string TrackerLogDirectory { get { throw null; } set { } }
+
+ public string TrackerSdkPath { get { throw null; } set { } }
+
+ public bool TrackFileAccess { get { throw null; } set { } }
+
+ public bool UsePreserializedResources { get { throw null; } set { } }
+
+ public bool UseSourcePath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetAssemblyIdentity : TaskExtension
+ {
+ public GetAssemblyIdentity() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Assemblies { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] AssemblyFiles { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetCompatiblePlatform : TaskExtension
+ {
+ public GetCompatiblePlatform() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] AnnotatedProjects { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[]? AssignedProjectsWithPlatform { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string CurrentProjectPlatform { get { throw null; } set { } }
+
+ public string PlatformLookupTable { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class GetFileHash : TaskExtension
+ {
+ public GetFileHash() { }
+
+ public string Algorithm { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string Hash { get { throw null; } set { } }
+
+ public string HashEncoding { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Items { get { throw null; } set { } }
+
+ public string MetadataName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetFrameworkPath : TaskExtension
+ {
+ public GetFrameworkPath() { }
+
+ [Framework.Output]
+ public string FrameworkVersion11Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion20Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion30Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion35Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion40Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion451Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion452Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion45Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion461Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion462Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion46Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion471Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion472Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion47Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion48Path { get { throw null; } }
+
+ [Framework.Output]
+ public string Path { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetInstalledSDKLocations : TaskExtension
+ {
+ public GetInstalledSDKLocations() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] InstalledSDKs { get { throw null; } set { } }
+
+ public string[] SDKDirectoryRoots { get { throw null; } set { } }
+
+ public string[] SDKExtensionDirectoryRoots { get { throw null; } set { } }
+
+ public string SDKRegistryRoot { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public bool WarnWhenNoSDKsFound { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetReferenceAssemblyPaths : TaskExtension
+ {
+ public GetReferenceAssemblyPaths() { }
+
+ public bool BypassFrameworkInstallChecks { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string[] FullFrameworkReferenceAssemblyPaths { get { throw null; } }
+
+ [Framework.Output]
+ public string[] ReferenceAssemblyPaths { get { throw null; } }
+
+ public string RootPath { get { throw null; } set { } }
+
+ public bool SuppressNotFoundError { get { throw null; } set { } }
+
+ public string TargetFrameworkFallbackSearchPaths { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string TargetFrameworkMonikerDisplayName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetSDKReferenceFiles : TaskExtension
+ {
+ public GetSDKReferenceFiles() { }
+
+ public string CacheFileFolderPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CopyLocalFiles { get { throw null; } }
+
+ public bool LogCacheFileExceptions { get { throw null; } set { } }
+
+ public bool LogRedistConflictBetweenSDKsAsWarning { get { throw null; } set { } }
+
+ public bool LogRedistConflictWithinSDKAsWarning { get { throw null; } set { } }
+
+ public bool LogRedistFilesList { get { throw null; } set { } }
+
+ public bool LogReferenceConflictBetweenSDKsAsWarning { get { throw null; } set { } }
+
+ public bool LogReferenceConflictWithinSDKAsWarning { get { throw null; } set { } }
+
+ public bool LogReferencesList { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] RedistFiles { get { throw null; } }
+
+ public string[] ReferenceExtensions { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] References { get { throw null; } }
+
+ public Framework.ITaskItem[] ResolvedSDKReferences { get { throw null; } set { } }
+
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public string TargetSDKIdentifier { get { throw null; } set { } }
+
+ public string TargetSDKVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Hash : TaskExtension
+ {
+ public Hash() { }
+
+ [Framework.Output]
+ public string HashResult { get { throw null; } set { } }
+
+ public bool IgnoreCase { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] ItemsToHash { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial interface IFixedTypeInfo
+ {
+ void AddressOfMember(int memid, System.Runtime.InteropServices.ComTypes.INVOKEKIND invKind, out System.IntPtr ppv);
+ void CreateInstance(object pUnkOuter, ref System.Guid riid, out object ppvObj);
+ void GetContainingTypeLib(out System.Runtime.InteropServices.ComTypes.ITypeLib ppTLB, out int pIndex);
+ void GetDllEntry(int memid, System.Runtime.InteropServices.ComTypes.INVOKEKIND invKind, System.IntPtr pBstrDllName, System.IntPtr pBstrName, System.IntPtr pwOrdinal);
+ void GetDocumentation(int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
+ void GetFuncDesc(int index, out System.IntPtr ppFuncDesc);
+ void GetIDsOfNames(string[] rgszNames, int cNames, int[] pMemId);
+ void GetImplTypeFlags(int index, out System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS pImplTypeFlags);
+ void GetMops(int memid, out string pBstrMops);
+ void GetNames(int memid, string[] rgBstrNames, int cMaxNames, out int pcNames);
+ void GetRefTypeInfo(System.IntPtr hRef, out IFixedTypeInfo ppTI);
+ void GetRefTypeOfImplType(int index, out System.IntPtr href);
+ void GetTypeAttr(out System.IntPtr ppTypeAttr);
+ void GetTypeComp(out System.Runtime.InteropServices.ComTypes.ITypeComp ppTComp);
+ void GetVarDesc(int index, out System.IntPtr ppVarDesc);
+ void Invoke(object pvInstance, int memid, short wFlags, ref System.Runtime.InteropServices.ComTypes.DISPPARAMS pDispParams, System.IntPtr pVarResult, System.IntPtr pExcepInfo, out int puArgErr);
+ void ReleaseFuncDesc(System.IntPtr pFuncDesc);
+ void ReleaseTypeAttr(System.IntPtr pTypeAttr);
+ void ReleaseVarDesc(System.IntPtr pVarDesc);
+ }
+
+ public partial class LC : ToolTaskExtension
+ {
+ public LC() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem LicenseTarget { get { throw null; } set { } }
+
+ public bool NoLogo { get { throw null; } set { } }
+
+ public string OutputDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputLicense { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ReferencedAssemblies { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Sources { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ protected override string ToolName { get { throw null; } }
+
+ protected internal override void AddCommandLineCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected internal override void AddResponseFileCommands(CommandLineBuilderExtension commandLine) { }
+
+ public override bool Execute() { throw null; }
+
+ protected override string GenerateFullPathToTool() { throw null; }
+
+ protected override bool ValidateParameters() { throw null; }
+ }
+
+ public partial class MakeDir : TaskExtension
+ {
+ public MakeDir() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Directories { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DirectoriesCreated { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Message : TaskExtension
+ {
+ public Message() { }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ public string Importance { get { throw null; } set { } }
+
+ public bool IsCritical { get { throw null; } set { } }
+
+ public string Text { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Move : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Move() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DestinationFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] MovedFiles { get { throw null; } }
+
+ public bool OverwriteReadOnlyFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SourceFiles { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [Framework.RunInMTA]
+ public partial class MSBuild : TaskExtension
+ {
+ public MSBuild() { }
+
+ public bool BuildInParallel { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Projects { get { throw null; } set { } }
+
+ public string[] Properties { get { throw null; } set { } }
+
+ public bool RebaseOutputs { get { throw null; } set { } }
+
+ public string RemoveProperties { get { throw null; } set { } }
+
+ public bool RunEachTargetSeparately { get { throw null; } set { } }
+
+ public string SkipNonexistentProjects { get { throw null; } set { } }
+
+ public bool StopOnFirstFailure { get { throw null; } set { } }
+
+ public string[] TargetAndPropertyListSeparators { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] TargetOutputs { get { throw null; } }
+
+ public string[] Targets { get { throw null; } set { } }
+
+ public string ToolsVersion { get { throw null; } set { } }
+
+ public bool UnloadProjectsOnCompletion { get { throw null; } set { } }
+
+ public bool UseResultsCache { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ReadLinesFromFile : TaskExtension
+ {
+ public ReadLinesFromFile() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem File { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Lines { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class RemoveDir : TaskExtension
+ {
+ public RemoveDir() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Directories { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] RemovedDirectories { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class RemoveDuplicates : TaskExtension
+ {
+ public RemoveDuplicates() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Filtered { get { throw null; } set { } }
+
+ [Framework.Output]
+ public bool HadAnyDuplicates { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Inputs { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ResolveAssemblyReference : TaskExtension
+ {
+ public ResolveAssemblyReference() { }
+
+ public string[] AllowedAssemblyExtensions { get { throw null; } set { } }
+
+ public string[] AllowedRelatedFileExtensions { get { throw null; } set { } }
+
+ public string AppConfigFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Assemblies { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] AssemblyFiles { get { throw null; } set { } }
+
+ public string AssemblyInformationCacheOutputPath { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] AssemblyInformationCachePaths { get { throw null; } set { } }
+
+ public bool AutoUnify { get { throw null; } set { } }
+
+ public string[] CandidateAssemblyFiles { get { throw null; } set { } }
+
+ public bool CopyLocalDependenciesWhenParentReferenceInGac { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CopyLocalFiles { get { throw null; } }
+
+ [Framework.Output]
+ public string DependsOnNETStandard { get { throw null; } }
+
+ [Framework.Output]
+ public string DependsOnSystemRuntime { get { throw null; } }
+
+ public bool DoNotCopyLocalIfInGac { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] FilesWritten { get { throw null; } set { } }
+
+ public bool FindDependencies { get { throw null; } set { } }
+
+ public bool FindDependenciesOfExternallyResolvedReferences { get { throw null; } set { } }
+
+ public bool FindRelatedFiles { get { throw null; } set { } }
+
+ public bool FindSatellites { get { throw null; } set { } }
+
+ public bool FindSerializationAssemblies { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] FullFrameworkAssemblyTables { get { throw null; } set { } }
+
+ public string[] FullFrameworkFolders { get { throw null; } set { } }
+
+ public string[] FullTargetFrameworkSubsetNames { get { throw null; } set { } }
+
+ public bool IgnoreDefaultInstalledAssemblySubsetTables { get { throw null; } set { } }
+
+ public bool IgnoreDefaultInstalledAssemblyTables { get { throw null; } set { } }
+
+ public bool IgnoreTargetFrameworkAttributeVersionMismatch { get { throw null; } set { } }
+
+ public bool IgnoreVersionForFrameworkReferences { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] InstalledAssemblySubsetTables { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] InstalledAssemblyTables { get { throw null; } set { } }
+
+ public string[] LatestTargetFrameworkDirectories { get { throw null; } set { } }
+
+ public bool OutputUnresolvedAssemblyConflicts { get { throw null; } set { } }
+
+ public string ProfileName { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] RelatedFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedDependencyFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedFiles { get { throw null; } }
+
+ public Framework.ITaskItem[] ResolvedSDKReferences { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SatelliteFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ScatterFiles { get { throw null; } }
+
+ [Framework.Required]
+ public string[] SearchPaths { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SerializationAssemblyFiles { get { throw null; } }
+
+ public bool Silent { get { throw null; } set { } }
+
+ public string StateFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SuggestedRedirects { get { throw null; } }
+
+ public bool SupportsBindingRedirectGeneration { get { throw null; } set { } }
+
+ public string TargetedRuntimeVersion { get { throw null; } set { } }
+
+ public string[] TargetFrameworkDirectories { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ public string TargetFrameworkMonikerDisplayName { get { throw null; } set { } }
+
+ public string[] TargetFrameworkSubsets { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public string TargetProcessorArchitecture { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] UnresolvedAssemblyConflicts { get { throw null; } }
+
+ public bool UnresolveFrameworkAssembliesFromHigherFrameworks { get { throw null; } set { } }
+
+ public string WarnOrErrorOnTargetArchitectureMismatch { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ResolveCodeAnalysisRuleSet : TaskExtension
+ {
+ public ResolveCodeAnalysisRuleSet() { }
+
+ public string CodeAnalysisRuleSet { get { throw null; } set { } }
+
+ public string[] CodeAnalysisRuleSetDirectories { get { throw null; } set { } }
+
+ public string MSBuildProjectDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedCodeAnalysisRuleSet { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ResolveComReference : TaskExtension
+ {
+ public ResolveComReference() { }
+
+ public bool DelaySign { get { throw null; } set { } }
+
+ public string[] EnvironmentVariables { get { throw null; } set { } }
+
+ public bool ExecuteAsTool { get { throw null; } set { } }
+
+ public bool IncludeVersionInInteropName { get { throw null; } set { } }
+
+ public string KeyContainer { get { throw null; } set { } }
+
+ public string KeyFile { get { throw null; } set { } }
+
+ public bool NoClassMembers { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ResolvedAssemblyReferences { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedFiles { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedModules { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ public bool Silent { get { throw null; } set { } }
+
+ public string StateFile { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public string TargetProcessorArchitecture { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] TypeLibFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] TypeLibNames { get { throw null; } set { } }
+
+ public string WrapperOutputDirectory { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ResolveKeySource : TaskExtension
+ {
+ public ResolveKeySource() { }
+
+ public int AutoClosePasswordPromptShow { get { throw null; } set { } }
+
+ public int AutoClosePasswordPromptTimeout { get { throw null; } set { } }
+
+ public string CertificateFile { get { throw null; } set { } }
+
+ public string CertificateThumbprint { get { throw null; } set { } }
+
+ public string KeyFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedKeyContainer { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedKeyFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedThumbprint { get { throw null; } set { } }
+
+ public bool ShowImportDialogDespitePreviousFailures { get { throw null; } set { } }
+
+ public bool SuppressAutoClosePasswordPrompt { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ResolveManifestFiles : TaskExtension
+ {
+ public ResolveManifestFiles() { }
+
+ public string AssemblyName { get { throw null; } set { } }
+
+ public Framework.ITaskItem DeploymentManifestEntryPoint { get { throw null; } set { } }
+
+ public Framework.ITaskItem EntryPoint { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ExtraFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool IsSelfContainedPublish { get { throw null; } set { } }
+
+ public bool IsSingleFilePublish { get { throw null; } set { } }
+
+ public bool LauncherBasedDeployment { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ManagedAssemblies { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] NativeAssemblies { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputAssemblies { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputDeploymentManifestEntryPoint { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputEntryPoint { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] PublishFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] RuntimePackAssets { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] SatelliteAssemblies { get { throw null; } set { } }
+
+ public bool SigningManifests { get { throw null; } set { } }
+
+ public string TargetCulture { get { throw null; } set { } }
+
+ public string TargetFrameworkIdentifier { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ResolveNonMSBuildProjectOutput : ResolveProjectBase
+ {
+ public string PreresolvedProjectOutputs { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedOutputPaths { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] UnresolvedProjectReferences { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class ResolveProjectBase : TaskExtension
+ {
+ protected ResolveProjectBase() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] ProjectReferences { get { throw null; } set { } }
+
+ protected void AddSyntheticProjectReferences(string currentProjectAbsolutePath) { }
+
+ protected System.Xml.XmlElement GetProjectElement(Framework.ITaskItem projectRef) { throw null; }
+
+ protected string GetProjectItem(Framework.ITaskItem projectRef) { throw null; }
+ }
+
+ public partial class ResolveSDKReference : TaskExtension
+ {
+ public ResolveSDKReference() { }
+
+ public Framework.ITaskItem[] DisallowedSDKDependencies { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] InstalledSDKs { get { throw null; } set { } }
+
+ public bool LogResolutionErrorsAsWarnings { get { throw null; } set { } }
+
+ public bool Prefer32Bit { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string ProjectName { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] References { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedSDKReferences { get { throw null; } }
+
+ public Framework.ITaskItem[] RuntimeReferenceOnlySDKDependencies { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SDKReferences { get { throw null; } set { } }
+
+ public string TargetedSDKArchitecture { get { throw null; } set { } }
+
+ public string TargetedSDKConfiguration { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public bool WarnOnMissingPlatformVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class RoslynCodeTaskFactory : Framework.ITaskFactory
+ {
+ public string FactoryName { get { throw null; } }
+
+ public System.Type TaskType { get { throw null; } }
+
+ public void CleanupTask(Framework.ITask task) { }
+
+ public Framework.ITask CreateTask(Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+
+ public Framework.TaskPropertyInfo[] GetTaskParameters() { throw null; }
+
+ public bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+ }
+
+ public partial class SGen : ToolTaskExtension
+ {
+ public SGen() { }
+
+ [Framework.Required]
+ public string BuildAssemblyName { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string BuildAssemblyPath { get { throw null; } set { } }
+
+ public bool DelaySign { get { throw null; } set { } }
+
+ public string KeyContainer { get { throw null; } set { } }
+
+ public string KeyFile { get { throw null; } set { } }
+
+ public string Platform { get { throw null; } set { } }
+
+ public string[] References { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SerializationAssembly { get { throw null; } set { } }
+
+ public string SerializationAssemblyName { get { throw null; } }
+
+ [Framework.Required]
+ public bool ShouldGenerateSerializer { get { throw null; } set { } }
+
+ protected override string ToolName { get { throw null; } }
+
+ public string[] Types { get { throw null; } set { } }
+
+ public bool UseKeep { get { throw null; } set { } }
+
+ [Framework.Required]
+ public bool UseProxyTypes { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+
+ protected override string GenerateFullPathToTool() { throw null; }
+ }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public sealed partial class SignFile : Utilities.Task
+ {
+ [Framework.Required]
+ public string CertificateThumbprint { get { throw null; } set { } }
+
+ public bool DisallowMansignTimestampFallback { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem SigningTarget { get { throw null; } set { } }
+
+ public string TargetFrameworkIdentifier { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public string TimestampUrl { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class TaskExtension : Utilities.Task
+ {
+ internal TaskExtension() { }
+
+ public new Utilities.TaskLoggingHelper Log { get { throw null; } }
+ }
+
+ public partial class TaskLoggingHelperExtension : Utilities.TaskLoggingHelper
+ {
+ public TaskLoggingHelperExtension(Framework.ITask taskInstance, System.Resources.ResourceManager primaryResources, System.Resources.ResourceManager sharedResources, string helpKeywordPrefix) : base(default!) { }
+
+ public System.Resources.ResourceManager TaskSharedResources { get { throw null; } set { } }
+
+ public override string FormatResourceString(string resourceName, params object[] args) { throw null; }
+ }
+
+ public sealed partial class Telemetry : TaskExtension
+ {
+ public Telemetry() { }
+
+ public string EventData { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string EventName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class ToolTaskExtension : Utilities.ToolTask
+ {
+ internal ToolTaskExtension() { }
+
+ protected internal System.Collections.Hashtable Bag { get { throw null; } }
+
+ protected override bool HasLoggedErrors { get { throw null; } }
+
+ public Utilities.TaskLoggingHelper Log { get { throw null; } }
+
+ protected virtual bool UseNewLineSeparatorInResponseFile { get { throw null; } }
+
+ protected internal virtual void AddCommandLineCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected internal virtual void AddResponseFileCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected override string GenerateCommandLineCommands() { throw null; }
+
+ protected override string GenerateResponseFileCommands() { throw null; }
+
+ protected internal bool GetBoolParameterWithDefault(string parameterName, bool defaultValue) { throw null; }
+
+ protected internal int GetIntParameterWithDefault(string parameterName, int defaultValue) { throw null; }
+ }
+
+ public partial class Touch : TaskExtension
+ {
+ public Touch() { }
+
+ public bool AlwaysCreate { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool ForceTouch { get { throw null; } set { } }
+
+ public string Time { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] TouchedFiles { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Unzip : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Unzip() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ public string Exclude { get { throw null; } set { } }
+
+ public string Include { get { throw null; } set { } }
+
+ public bool OverwriteReadOnlyFiles { get { throw null; } set { } }
+
+ public bool SkipUnchangedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SourceFiles { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class VerifyFileHash : TaskExtension
+ {
+ public VerifyFileHash() { }
+
+ public string Algorithm { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string File { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string Hash { get { throw null; } set { } }
+
+ public string HashEncoding { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Warning : TaskExtension
+ {
+ public Warning() { }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ public string HelpLink { get { throw null; } set { } }
+
+ public string Text { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class WriteCodeFragment : TaskExtension
+ {
+ public WriteCodeFragment() { }
+
+ public Framework.ITaskItem[] AssemblyAttributes { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string Language { get { throw null; } set { } }
+
+ public Framework.ITaskItem OutputDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputFile { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class WriteLinesToFile : TaskExtension
+ {
+ public WriteLinesToFile() { }
+
+ public string Encoding { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem File { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Lines { get { throw null; } set { } }
+
+ public bool Overwrite { get { throw null; } set { } }
+
+ public bool WriteOnlyWhenDifferent { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [System.Obsolete("The XamlTaskFactory is not supported on .NET Core. This class is included so that users receive run-time errors and should not be used for any other purpose.", true)]
+ public sealed partial class XamlTaskFactory : Framework.ITaskFactory
+ {
+ public string FactoryName { get { throw null; } }
+
+ public System.Type TaskType { get { throw null; } }
+
+ public void CleanupTask(Framework.ITask task) { }
+
+ public Framework.ITask CreateTask(Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+
+ public Framework.TaskPropertyInfo[] GetTaskParameters() { throw null; }
+
+ public bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+ }
+
+ public partial class XmlPeek : TaskExtension
+ {
+ public XmlPeek() { }
+
+ public string Namespaces { get { throw null; } set { } }
+
+ public bool ProhibitDtd { get { throw null; } set { } }
+
+ public string Query { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Result { get { throw null; } }
+
+ public string XmlContent { get { throw null; } set { } }
+
+ public Framework.ITaskItem XmlInputPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class XmlPoke : TaskExtension
+ {
+ public XmlPoke() { }
+
+ public string Namespaces { get { throw null; } set { } }
+
+ public string Query { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem Value { get { throw null; } set { } }
+
+ public Framework.ITaskItem XmlInputPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class XslTransformation : TaskExtension
+ {
+ public XslTransformation() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] OutputPaths { get { throw null; } set { } }
+
+ public string Parameters { get { throw null; } set { } }
+
+ public bool UseTrustedSettings { get { throw null; } set { } }
+
+ public string XmlContent { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] XmlInputPaths { get { throw null; } set { } }
+
+ public Framework.ITaskItem XslCompiledDllPath { get { throw null; } set { } }
+
+ public string XslContent { get { throw null; } set { } }
+
+ public Framework.ITaskItem XslInputPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ZipDirectory : TaskExtension
+ {
+ public ZipDirectory() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem DestinationFile { get { throw null; } set { } }
+
+ public bool Overwrite { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem SourceDirectory { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+}
+
+namespace Microsoft.Build.Tasks.Deployment.Bootstrapper
+{
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public partial class BootstrapperBuilder : IBootstrapperBuilder
+ {
+ public BootstrapperBuilder() { }
+
+ public BootstrapperBuilder(string visualStudioVersion) { }
+
+ public string Path { get { throw null; } set { } }
+
+ public ProductCollection Products { get { throw null; } }
+
+ public BuildResults Build(BuildSettings settings) { throw null; }
+
+ public string[] GetOutputFolders(string[] productCodes, string culture, string fallbackCulture, ComponentsLocation componentsLocation) { throw null; }
+
+ public static string XmlToConfigurationFile(System.Xml.XmlNode input) { throw null; }
+ }
+
+ public partial class BuildMessage : IBuildMessage
+ {
+ internal BuildMessage() { }
+
+ public int HelpId { get { throw null; } }
+
+ public string HelpKeyword { get { throw null; } }
+
+ public string Message { get { throw null; } }
+
+ public BuildMessageSeverity Severity { get { throw null; } }
+ }
+
+ public enum BuildMessageSeverity
+ {
+ Info = 0,
+ Warning = 1,
+ Error = 2
+ }
+
+ public partial class BuildResults : IBuildResults
+ {
+ internal BuildResults() { }
+
+ public string[] ComponentFiles { get { throw null; } }
+
+ public string KeyFile { get { throw null; } }
+
+ public BuildMessage[] Messages { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public partial class BuildSettings : IBuildSettings
+ {
+ public string ApplicationFile { get { throw null; } set { } }
+
+ public string ApplicationName { get { throw null; } set { } }
+
+ public bool ApplicationRequiresElevation { get { throw null; } set { } }
+
+ public string ApplicationUrl { get { throw null; } set { } }
+
+ public ComponentsLocation ComponentsLocation { get { throw null; } set { } }
+
+ public string ComponentsUrl { get { throw null; } set { } }
+
+ public bool CopyComponents { get { throw null; } set { } }
+
+ public int FallbackLCID { get { throw null; } set { } }
+
+ public int LCID { get { throw null; } set { } }
+
+ public string OutputPath { get { throw null; } set { } }
+
+ public ProductBuilderCollection ProductBuilders { get { throw null; } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public bool Validate { get { throw null; } set { } }
+ }
+
+ public enum ComponentsLocation
+ {
+ HomeSite = 0,
+ Relative = 1,
+ Absolute = 2
+ }
+
+ public partial interface IBootstrapperBuilder
+ {
+ [System.Runtime.InteropServices.DispId(1)]
+ string Path { get; set; }
+
+ [System.Runtime.InteropServices.DispId(4)]
+ ProductCollection Products { get; }
+
+ [System.Runtime.InteropServices.DispId(5)]
+ BuildResults Build(BuildSettings settings);
+ }
+
+ public partial interface IBuildMessage
+ {
+ [System.Runtime.InteropServices.DispId(4)]
+ int HelpId { get; }
+
+ [System.Runtime.InteropServices.DispId(3)]
+ string HelpKeyword { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ string Message { get; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ BuildMessageSeverity Severity { get; }
+ }
+
+ public partial interface IBuildResults
+ {
+ [System.Runtime.InteropServices.DispId(3)]
+ string[] ComponentFiles { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ string KeyFile { get; }
+
+ [System.Runtime.InteropServices.DispId(4)]
+ BuildMessage[] Messages { get; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ bool Succeeded { get; }
+ }
+
+ public partial interface IBuildSettings
+ {
+ [System.Runtime.InteropServices.DispId(2)]
+ string ApplicationFile { get; set; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ string ApplicationName { get; set; }
+
+ [System.Runtime.InteropServices.DispId(13)]
+ bool ApplicationRequiresElevation { get; set; }
+
+ [System.Runtime.InteropServices.DispId(3)]
+ string ApplicationUrl { get; set; }
+
+ [System.Runtime.InteropServices.DispId(11)]
+ ComponentsLocation ComponentsLocation { get; set; }
+
+ [System.Runtime.InteropServices.DispId(4)]
+ string ComponentsUrl { get; set; }
+
+ [System.Runtime.InteropServices.DispId(5)]
+ bool CopyComponents { get; set; }
+
+ [System.Runtime.InteropServices.DispId(7)]
+ int FallbackLCID { get; set; }
+
+ [System.Runtime.InteropServices.DispId(6)]
+ int LCID { get; set; }
+
+ [System.Runtime.InteropServices.DispId(8)]
+ string OutputPath { get; set; }
+
+ [System.Runtime.InteropServices.DispId(9)]
+ ProductBuilderCollection ProductBuilders { get; }
+
+ [System.Runtime.InteropServices.DispId(12)]
+ string SupportUrl { get; set; }
+
+ [System.Runtime.InteropServices.DispId(10)]
+ bool Validate { get; set; }
+ }
+
+ public partial interface IProduct
+ {
+ [System.Runtime.InteropServices.DispId(4)]
+ ProductCollection Includes { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ string Name { get; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ ProductBuilder ProductBuilder { get; }
+
+ [System.Runtime.InteropServices.DispId(3)]
+ string ProductCode { get; }
+ }
+
+ public partial interface IProductBuilder
+ {
+ [System.Runtime.InteropServices.DispId(1)]
+ Product Product { get; }
+ }
+
+ public partial interface IProductBuilderCollection
+ {
+ [System.Runtime.InteropServices.DispId(2)]
+ void Add(ProductBuilder builder);
+ }
+
+ public partial interface IProductCollection
+ {
+ [System.Runtime.InteropServices.DispId(1)]
+ int Count { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ Product Item(int index);
+ [System.Runtime.InteropServices.DispId(3)]
+ Product Product(string productCode);
+ }
+
+ public partial class Product : IProduct
+ {
+ public ProductCollection Includes { get { throw null; } }
+
+ public string Name { get { throw null; } }
+
+ public ProductBuilder ProductBuilder { get { throw null; } }
+
+ public string ProductCode { get { throw null; } }
+ }
+
+ public partial class ProductBuilder : IProductBuilder
+ {
+ internal ProductBuilder() { }
+
+ public Product Product { get { throw null; } }
+ }
+
+ public partial class ProductBuilderCollection : IProductBuilderCollection, System.Collections.IEnumerable
+ {
+ internal ProductBuilderCollection() { }
+
+ public void Add(ProductBuilder builder) { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public partial class ProductCollection : IProductCollection, System.Collections.IEnumerable
+ {
+ internal ProductCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+
+ public Product Item(int index) { throw null; }
+
+ public Product Product(string productCode) { throw null; }
+ }
+}
+
+namespace Microsoft.Build.Tasks.Deployment.ManifestUtilities
+{
+ public sealed partial class ApplicationIdentity
+ {
+ public ApplicationIdentity(string url, AssemblyIdentity deployManifestIdentity, AssemblyIdentity applicationManifestIdentity) { }
+
+ public ApplicationIdentity(string url, string deployManifestPath, string applicationManifestPath) { }
+
+ public override string ToString() { throw null; }
+ }
+
+ public sealed partial class ApplicationManifest : AssemblyManifest
+ {
+ public ApplicationManifest() { }
+
+ public ApplicationManifest(string targetFrameworkVersion) { }
+
+ public string ConfigFile { get { throw null; } set { } }
+
+ public override AssemblyReference EntryPoint { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public FileAssociationCollection FileAssociations { get { throw null; } }
+
+ public bool HostInBrowser { get { throw null; } set { } }
+
+ public string IconFile { get { throw null; } set { } }
+
+ public bool IsClickOnceManifest { get { throw null; } set { } }
+
+ public int MaxTargetPath { get { throw null; } set { } }
+
+ public string OSDescription { get { throw null; } set { } }
+
+ public string OSSupportUrl { get { throw null; } set { } }
+
+ public string OSVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public TrustInfo TrustInfo { get { throw null; } set { } }
+
+ public bool UseApplicationTrust { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlConfigFile { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlElement("EntryPointIdentity")]
+ public AssemblyIdentity XmlEntryPointIdentity { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlEntryPointParameters { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlEntryPointPath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlErrorReportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("FileAssociations")]
+ public FileAssociation[] XmlFileAssociations { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHostInBrowser { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIconFile { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsClickOnceManifest { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSBuild { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSMajor { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSMinor { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSRevision { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSSupportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProduct { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPublisher { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSuiteName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSupportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUseApplicationTrust { get { throw null; } set { } }
+
+ public override void Validate() { }
+ }
+
+ public sealed partial class AssemblyIdentity
+ {
+ public AssemblyIdentity() { }
+
+ public AssemblyIdentity(AssemblyIdentity identity) { }
+
+ public AssemblyIdentity(string name, string version, string publicKeyToken, string culture, string processorArchitecture, string type) { }
+
+ public AssemblyIdentity(string name, string version, string publicKeyToken, string culture, string processorArchitecture) { }
+
+ public AssemblyIdentity(string name, string version, string publicKeyToken, string culture) { }
+
+ public AssemblyIdentity(string name, string version) { }
+
+ public AssemblyIdentity(string name) { }
+
+ public string Culture { get { throw null; } set { } }
+
+ public bool IsFrameworkAssembly { get { throw null; } }
+
+ public bool IsNeutralPlatform { get { throw null; } }
+
+ public bool IsStrongName { get { throw null; } }
+
+ public string Name { get { throw null; } set { } }
+
+ public string ProcessorArchitecture { get { throw null; } set { } }
+
+ public string PublicKeyToken { get { throw null; } set { } }
+
+ public string Type { get { throw null; } set { } }
+
+ public string Version { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlCulture { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProcessorArchitecture { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPublicKeyToken { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlType { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersion { get { throw null; } set { } }
+
+ public static AssemblyIdentity FromAssemblyName(string assemblyName) { throw null; }
+
+ public static AssemblyIdentity FromFile(string path) { throw null; }
+
+ public static AssemblyIdentity FromManagedAssembly(string path) { throw null; }
+
+ public static AssemblyIdentity FromManifest(string path) { throw null; }
+
+ public static AssemblyIdentity FromNativeAssembly(string path) { throw null; }
+
+ public string GetFullName(FullNameFlags flags) { throw null; }
+
+ public bool IsInFramework(string frameworkIdentifier, string frameworkVersion) { throw null; }
+
+ public override string ToString() { throw null; }
+
+ [System.Flags]
+ public enum FullNameFlags
+ {
+ Default = 0,
+ ProcessorArchitecture = 1,
+ Type = 2,
+ All = 3
+ }
+ }
+
+ public partial class AssemblyManifest : Manifest
+ {
+ public ProxyStub[] ExternalProxyStubs { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("ExternalProxyStubs")]
+ public ProxyStub[] XmlExternalProxyStubs { get { throw null; } set { } }
+ }
+
+ public sealed partial class AssemblyReference : BaseReference
+ {
+ public AssemblyReference() { }
+
+ public AssemblyReference(string path) { }
+
+ public AssemblyIdentity AssemblyIdentity { get { throw null; } set { } }
+
+ public bool IsPrerequisite { get { throw null; } set { } }
+
+ public AssemblyReferenceType ReferenceType { get { throw null; } set { } }
+
+ protected internal override string SortName { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlElement("AssemblyIdentity")]
+ public AssemblyIdentity XmlAssemblyIdentity { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsNative { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsPrerequisite { get { throw null; } set { } }
+
+ public override string ToString() { throw null; }
+ }
+
+ public sealed partial class AssemblyReferenceCollection : System.Collections.IEnumerable
+ {
+ internal AssemblyReferenceCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public AssemblyReference this[int index] { get { throw null; } }
+
+ public AssemblyReference Add(AssemblyReference assembly) { throw null; }
+
+ public AssemblyReference Add(string path) { throw null; }
+
+ public void Clear() { }
+
+ public AssemblyReference Find(AssemblyIdentity identity) { throw null; }
+
+ public AssemblyReference Find(string name) { throw null; }
+
+ public AssemblyReference FindTargetPath(string targetPath) { throw null; }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+
+ public void Remove(AssemblyReference assemblyReference) { }
+ }
+
+ public enum AssemblyReferenceType
+ {
+ Unspecified = 0,
+ ClickOnceManifest = 1,
+ ManagedAssembly = 2,
+ NativeAssembly = 3
+ }
+
+ public abstract partial class BaseReference
+ {
+ protected internal BaseReference() { }
+
+ protected internal BaseReference(string path) { }
+
+ public string Group { get { throw null; } set { } }
+
+ public string Hash { get { throw null; } set { } }
+
+ public bool IsOptional { get { throw null; } set { } }
+
+ public string ResolvedPath { get { throw null; } set { } }
+
+ public long Size { get { throw null; } set { } }
+
+ protected internal abstract string SortName { get; }
+
+ public string SourcePath { get { throw null; } set { } }
+
+ public string TargetPath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlGroup { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHash { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHashAlgorithm { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsOptional { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSize { get { throw null; } set { } }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class ComClass
+ {
+ public string ClsId { get { throw null; } }
+
+ public string Description { get { throw null; } }
+
+ public string ProgId { get { throw null; } }
+
+ public string ThreadingModel { get { throw null; } }
+
+ public string TlbId { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlClsId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProgId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlThreadingModel { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTlbId { get { throw null; } set { } }
+ }
+
+ public sealed partial class CompatibleFramework
+ {
+ public string Profile { get { throw null; } set { } }
+
+ public string SupportedRuntime { get { throw null; } set { } }
+
+ public string Version { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProfile { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSupportedRuntime { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersion { get { throw null; } set { } }
+ }
+
+ public sealed partial class CompatibleFrameworkCollection : System.Collections.IEnumerable
+ {
+ internal CompatibleFrameworkCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public CompatibleFramework this[int index] { get { throw null; } }
+
+ public void Add(CompatibleFramework compatibleFramework) { }
+
+ public void Clear() { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public sealed partial class DeployManifest : Manifest
+ {
+ public DeployManifest() { }
+
+ public DeployManifest(string targetFrameworkMoniker) { }
+
+ public CompatibleFrameworkCollection CompatibleFrameworks { get { throw null; } }
+
+ public bool CreateDesktopShortcut { get { throw null; } set { } }
+
+ public string DeploymentUrl { get { throw null; } set { } }
+
+ public bool DisallowUrlActivation { get { throw null; } set { } }
+
+ public override AssemblyReference EntryPoint { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public bool Install { get { throw null; } set { } }
+
+ public bool MapFileExtensions { get { throw null; } set { } }
+
+ public string MinimumRequiredVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ public bool TrustUrlParameters { get { throw null; } set { } }
+
+ public bool UpdateEnabled { get { throw null; } set { } }
+
+ public int UpdateInterval { get { throw null; } set { } }
+
+ public UpdateMode UpdateMode { get { throw null; } set { } }
+
+ public UpdateUnit UpdateUnit { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("CompatibleFrameworks")]
+ public CompatibleFramework[] XmlCompatibleFrameworks { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlCreateDesktopShortcut { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDeploymentUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDisallowUrlActivation { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlErrorReportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlInstall { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlMapFileExtensions { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlMinimumRequiredVersion { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProduct { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPublisher { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSuiteName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSupportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTrustUrlParameters { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateEnabled { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateInterval { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateMode { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateUnit { get { throw null; } set { } }
+
+ public override void Validate() { }
+ }
+
+ public sealed partial class FileAssociation
+ {
+ public string DefaultIcon { get { throw null; } set { } }
+
+ public string Description { get { throw null; } set { } }
+
+ public string Extension { get { throw null; } set { } }
+
+ public string ProgId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDefaultIcon { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlExtension { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProgId { get { throw null; } set { } }
+ }
+
+ public sealed partial class FileAssociationCollection : System.Collections.IEnumerable
+ {
+ internal FileAssociationCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public FileAssociation this[int index] { get { throw null; } }
+
+ public void Add(FileAssociation fileAssociation) { }
+
+ public void Clear() { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public sealed partial class FileReference : BaseReference
+ {
+ public FileReference() { }
+
+ public FileReference(string path) { }
+
+ public ComClass[] ComClasses { get { throw null; } }
+
+ public bool IsDataFile { get { throw null; } set { } }
+
+ public ProxyStub[] ProxyStubs { get { throw null; } }
+
+ protected internal override string SortName { get { throw null; } }
+
+ public TypeLib[] TypeLibs { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("ComClasses")]
+ public ComClass[] XmlComClasses { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("ProxyStubs")]
+ public ProxyStub[] XmlProxyStubs { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("TypeLibs")]
+ public TypeLib[] XmlTypeLibs { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlWriteableType { get { throw null; } set { } }
+ }
+
+ public sealed partial class FileReferenceCollection : System.Collections.IEnumerable
+ {
+ internal FileReferenceCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public FileReference this[int index] { get { throw null; } }
+
+ public FileReference Add(FileReference file) { throw null; }
+
+ public FileReference Add(string path) { throw null; }
+
+ public void Clear() { }
+
+ public FileReference FindTargetPath(string targetPath) { throw null; }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+
+ public void Remove(FileReference file) { }
+ }
+
+ public partial class LauncherBuilder
+ {
+ public LauncherBuilder(string launcherPath) { }
+
+ public string LauncherPath { get { throw null; } set { } }
+
+ public Bootstrapper.BuildResults Build(string filename, string outputPath) { throw null; }
+ }
+
+ public abstract partial class Manifest
+ {
+ protected internal Manifest() { }
+
+ public AssemblyIdentity AssemblyIdentity { get { throw null; } set { } }
+
+ public string AssemblyName { get { throw null; } set { } }
+
+ public AssemblyReferenceCollection AssemblyReferences { get { throw null; } }
+
+ public string Description { get { throw null; } set { } }
+
+ public virtual AssemblyReference EntryPoint { get { throw null; } set { } }
+
+ public FileReferenceCollection FileReferences { get { throw null; } }
+
+ public System.IO.Stream InputStream { get { throw null; } set { } }
+
+ public bool LauncherBasedDeployment { get { throw null; } set { } }
+
+ public OutputMessageCollection OutputMessages { get { throw null; } }
+
+ public bool ReadOnly { get { throw null; } set { } }
+
+ public string SourcePath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlElement("AssemblyIdentity")]
+ public AssemblyIdentity XmlAssemblyIdentity { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("AssemblyReferences")]
+ public AssemblyReference[] XmlAssemblyReferences { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("FileReferences")]
+ public FileReference[] XmlFileReferences { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSchema { get { throw null; } set { } }
+
+ public void ResolveFiles() { }
+
+ public void ResolveFiles(string[] searchPaths) { }
+
+ public override string ToString() { throw null; }
+
+ public void UpdateFileInfo() { }
+
+ public void UpdateFileInfo(string targetFrameworkVersion) { }
+
+ public virtual void Validate() { }
+
+ protected void ValidatePlatform() { }
+ }
+
+ public static partial class ManifestReader
+ {
+ public static Manifest ReadManifest(System.IO.Stream input, bool preserveStream) { throw null; }
+
+ public static Manifest ReadManifest(string path, bool preserveStream) { throw null; }
+
+ public static Manifest ReadManifest(string manifestType, System.IO.Stream input, bool preserveStream) { throw null; }
+
+ public static Manifest ReadManifest(string manifestType, string path, bool preserveStream) { throw null; }
+ }
+
+ public static partial class ManifestWriter
+ {
+ public static void WriteManifest(Manifest manifest, System.IO.Stream output) { }
+
+ public static void WriteManifest(Manifest manifest, string path, string targetframeWorkVersion) { }
+
+ public static void WriteManifest(Manifest manifest, string path) { }
+
+ public static void WriteManifest(Manifest manifest) { }
+ }
+
+ public sealed partial class OutputMessage
+ {
+ internal OutputMessage() { }
+
+ public string Name { get { throw null; } }
+
+ public string Text { get { throw null; } }
+
+ public OutputMessageType Type { get { throw null; } }
+
+ public string[] GetArguments() { throw null; }
+ }
+
+ public sealed partial class OutputMessageCollection : System.Collections.IEnumerable
+ {
+ internal OutputMessageCollection() { }
+
+ public int ErrorCount { get { throw null; } }
+
+ public OutputMessage this[int index] { get { throw null; } }
+
+ public int WarningCount { get { throw null; } }
+
+ public void Clear() { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public enum OutputMessageType
+ {
+ Info = 0,
+ Warning = 1,
+ Error = 2
+ }
+
+ public partial class ProxyStub
+ {
+ public string BaseInterface { get { throw null; } }
+
+ public string IID { get { throw null; } }
+
+ public string Name { get { throw null; } }
+
+ public string NumMethods { get { throw null; } }
+
+ public string TlbId { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlBaseInterface { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIID { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlNumMethods { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTlbId { get { throw null; } set { } }
+ }
+
+ public static partial class SecurityUtilities
+ {
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public static void SignFile(System.Security.Cryptography.X509Certificates.X509Certificate2 cert, System.Uri timestampUrl, string path) { }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public static void SignFile(string certPath, System.Security.SecureString certPassword, System.Uri timestampUrl, string path) { }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path, string targetFrameworkVersion, string targetFrameworkIdentifier, bool disallowMansignTimestampFallback) { }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path, string targetFrameworkVersion, string targetFrameworkIdentifier) { }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path, string targetFrameworkVersion) { }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path) { }
+ }
+
+ public sealed partial class TrustInfo
+ {
+ public bool HasUnmanagedCodePermission { get { throw null; } }
+
+ public bool IsFullTrust { get { throw null; } }
+
+ public bool PreserveFullTrustPermissionSet { get { throw null; } set { } }
+
+ public string SameSiteAccess { get { throw null; } set { } }
+
+ public void Clear() { }
+
+ public void Read(System.IO.Stream input) { }
+
+ public void Read(string path) { }
+
+ public void ReadManifest(System.IO.Stream input) { }
+
+ public void ReadManifest(string path) { }
+
+ public override string ToString() { throw null; }
+
+ public void Write(System.IO.Stream output) { }
+
+ public void Write(string path) { }
+
+ public void WriteManifest(System.IO.Stream input, System.IO.Stream output) { }
+
+ public void WriteManifest(System.IO.Stream output) { }
+
+ public void WriteManifest(string path) { }
+ }
+
+ public partial class TypeLib
+ {
+ public string Flags { get { throw null; } }
+
+ public string HelpDirectory { get { throw null; } }
+
+ public string ResourceId { get { throw null; } }
+
+ public string TlbId { get { throw null; } }
+
+ public string Version { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlFlags { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHelpDirectory { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlResourceId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTlbId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersion { get { throw null; } set { } }
+ }
+
+ public enum UpdateMode
+ {
+ Background = 0,
+ Foreground = 1
+ }
+
+ public enum UpdateUnit
+ {
+ Hours = 0,
+ Days = 1,
+ Weeks = 2
+ }
+
+ public partial class WindowClass
+ {
+ public WindowClass() { }
+
+ public WindowClass(string name, bool versioned) { }
+
+ public string Name { get { throw null; } }
+
+ public bool Versioned { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersioned { get { throw null; } set { } }
+ }
+}
+
+namespace Microsoft.Build.Tasks.Hosting
+{
+ public partial interface IAnalyzerHostObject
+ {
+ bool SetAdditionalFiles(Framework.ITaskItem[] additionalFiles);
+ bool SetAnalyzers(Framework.ITaskItem[] analyzers);
+ bool SetRuleSet(string ruleSetFile);
+ }
+
+ public partial interface ICscHostObject : Framework.ITaskHost
+ {
+ void BeginInitialization();
+ bool Compile();
+ bool EndInitialization(out string errorMessage, out int errorCode);
+ bool IsDesignTime();
+ bool IsUpToDate();
+ bool SetAdditionalLibPaths(string[] additionalLibPaths);
+ bool SetAddModules(string[] addModules);
+ bool SetAllowUnsafeBlocks(bool allowUnsafeBlocks);
+ bool SetBaseAddress(string baseAddress);
+ bool SetCheckForOverflowUnderflow(bool checkForOverflowUnderflow);
+ bool SetCodePage(int codePage);
+ bool SetDebugType(string debugType);
+ bool SetDefineConstants(string defineConstants);
+ bool SetDelaySign(bool delaySignExplicitlySet, bool delaySign);
+ bool SetDisabledWarnings(string disabledWarnings);
+ bool SetDocumentationFile(string documentationFile);
+ bool SetEmitDebugInformation(bool emitDebugInformation);
+ bool SetErrorReport(string errorReport);
+ bool SetFileAlignment(int fileAlignment);
+ bool SetGenerateFullPaths(bool generateFullPaths);
+ bool SetKeyContainer(string keyContainer);
+ bool SetKeyFile(string keyFile);
+ bool SetLangVersion(string langVersion);
+ bool SetLinkResources(Framework.ITaskItem[] linkResources);
+ bool SetMainEntryPoint(string targetType, string mainEntryPoint);
+ bool SetModuleAssemblyName(string moduleAssemblyName);
+ bool SetNoConfig(bool noConfig);
+ bool SetNoStandardLib(bool noStandardLib);
+ bool SetOptimize(bool optimize);
+ bool SetOutputAssembly(string outputAssembly);
+ bool SetPdbFile(string pdbFile);
+ bool SetPlatform(string platform);
+ bool SetReferences(Framework.ITaskItem[] references);
+ bool SetResources(Framework.ITaskItem[] resources);
+ bool SetResponseFiles(Framework.ITaskItem[] responseFiles);
+ bool SetSources(Framework.ITaskItem[] sources);
+ bool SetTargetType(string targetType);
+ bool SetTreatWarningsAsErrors(bool treatWarningsAsErrors);
+ bool SetWarningLevel(int warningLevel);
+ bool SetWarningsAsErrors(string warningsAsErrors);
+ bool SetWarningsNotAsErrors(string warningsNotAsErrors);
+ bool SetWin32Icon(string win32Icon);
+ bool SetWin32Resource(string win32Resource);
+ }
+
+ public partial interface ICscHostObject2 : ICscHostObject, Framework.ITaskHost
+ {
+ bool SetWin32Manifest(string win32Manifest);
+ }
+
+ public partial interface ICscHostObject3 : ICscHostObject2, ICscHostObject, Framework.ITaskHost
+ {
+ bool SetApplicationConfiguration(string applicationConfiguration);
+ }
+
+ public partial interface ICscHostObject4 : ICscHostObject3, ICscHostObject2, ICscHostObject, Framework.ITaskHost
+ {
+ bool SetHighEntropyVA(bool highEntropyVA);
+ bool SetPlatformWith32BitPreference(string platformWith32BitPreference);
+ bool SetSubsystemVersion(string subsystemVersion);
+ }
+
+ public partial interface IVbcHostObject : Framework.ITaskHost
+ {
+ void BeginInitialization();
+ bool Compile();
+ void EndInitialization();
+ bool IsDesignTime();
+ bool IsUpToDate();
+ bool SetAdditionalLibPaths(string[] additionalLibPaths);
+ bool SetAddModules(string[] addModules);
+ bool SetBaseAddress(string targetType, string baseAddress);
+ bool SetCodePage(int codePage);
+ bool SetDebugType(bool emitDebugInformation, string debugType);
+ bool SetDefineConstants(string defineConstants);
+ bool SetDelaySign(bool delaySign);
+ bool SetDisabledWarnings(string disabledWarnings);
+ bool SetDocumentationFile(string documentationFile);
+ bool SetErrorReport(string errorReport);
+ bool SetFileAlignment(int fileAlignment);
+ bool SetGenerateDocumentation(bool generateDocumentation);
+ bool SetImports(Framework.ITaskItem[] importsList);
+ bool SetKeyContainer(string keyContainer);
+ bool SetKeyFile(string keyFile);
+ bool SetLinkResources(Framework.ITaskItem[] linkResources);
+ bool SetMainEntryPoint(string mainEntryPoint);
+ bool SetNoConfig(bool noConfig);
+ bool SetNoStandardLib(bool noStandardLib);
+ bool SetNoWarnings(bool noWarnings);
+ bool SetOptimize(bool optimize);
+ bool SetOptionCompare(string optionCompare);
+ bool SetOptionExplicit(bool optionExplicit);
+ bool SetOptionStrict(bool optionStrict);
+ bool SetOptionStrictType(string optionStrictType);
+ bool SetOutputAssembly(string outputAssembly);
+ bool SetPlatform(string platform);
+ bool SetReferences(Framework.ITaskItem[] references);
+ bool SetRemoveIntegerChecks(bool removeIntegerChecks);
+ bool SetResources(Framework.ITaskItem[] resources);
+ bool SetResponseFiles(Framework.ITaskItem[] responseFiles);
+ bool SetRootNamespace(string rootNamespace);
+ bool SetSdkPath(string sdkPath);
+ bool SetSources(Framework.ITaskItem[] sources);
+ bool SetTargetCompactFramework(bool targetCompactFramework);
+ bool SetTargetType(string targetType);
+ bool SetTreatWarningsAsErrors(bool treatWarningsAsErrors);
+ bool SetWarningsAsErrors(string warningsAsErrors);
+ bool SetWarningsNotAsErrors(string warningsNotAsErrors);
+ bool SetWin32Icon(string win32Icon);
+ bool SetWin32Resource(string win32Resource);
+ }
+
+ public partial interface IVbcHostObject2 : IVbcHostObject, Framework.ITaskHost
+ {
+ bool SetModuleAssemblyName(string moduleAssemblyName);
+ bool SetOptionInfer(bool optionInfer);
+ bool SetWin32Manifest(string win32Manifest);
+ }
+
+ public partial interface IVbcHostObject3 : IVbcHostObject2, IVbcHostObject, Framework.ITaskHost
+ {
+ bool SetLanguageVersion(string languageVersion);
+ }
+
+ public partial interface IVbcHostObject4 : IVbcHostObject3, IVbcHostObject2, IVbcHostObject, Framework.ITaskHost
+ {
+ bool SetVBRuntime(string VBRuntime);
+ }
+
+ public partial interface IVbcHostObject5 : IVbcHostObject4, IVbcHostObject3, IVbcHostObject2, IVbcHostObject, Framework.ITaskHost
+ {
+ int CompileAsync(out System.IntPtr buildSucceededEvent, out System.IntPtr buildFailedEvent);
+ int EndCompile(bool buildSuccess);
+ IVbcHostObjectFreeThreaded GetFreeThreadedHostObject();
+ bool SetHighEntropyVA(bool highEntropyVA);
+ bool SetPlatformWith32BitPreference(string platformWith32BitPreference);
+ bool SetSubsystemVersion(string subsystemVersion);
+ }
+
+ public partial interface IVbcHostObjectFreeThreaded
+ {
+ bool Compile();
+ }
+}
+
+namespace System.Deployment.Internal.CodeSigning
+{
+ public sealed partial class RSAPKCS1SHA256SignatureDescription : Security.Cryptography.SignatureDescription
+ {
+ public override Security.Cryptography.AsymmetricSignatureDeformatter CreateDeformatter(Security.Cryptography.AsymmetricAlgorithm key) { throw null; }
+
+ public override Security.Cryptography.AsymmetricSignatureFormatter CreateFormatter(Security.Cryptography.AsymmetricAlgorithm key) { throw null; }
+ }
+}
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/ref/netstandard2.0/Microsoft.Build.Tasks.Core.cs b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/ref/netstandard2.0/Microsoft.Build.Tasks.Core.cs
new file mode 100644
index 0000000000..d4f0e15c02
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.tasks.core/17.3.4/ref/netstandard2.0/Microsoft.Build.Tasks.Core.cs
@@ -0,0 +1,3151 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Tasks.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
+[assembly: System.Resources.NeutralResourcesLanguage("en")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("Release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Microsoft.Build.Tasks.Core.dll")]
+[assembly: System.Reflection.AssemblyFileVersion("17.3.4.17815")]
+[assembly: System.Reflection.AssemblyInformationalVersion("17.3.4+a400405ba8c43976eda92a70d4adf72f9d292a22")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® Build Tools®")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Build.Tasks.Core.dll")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/msbuild")]
+[assembly: System.Reflection.AssemblyVersionAttribute("15.1.0.0")]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.Build.Tasks
+{
+ public partial class AssignCulture : TaskExtension
+ {
+ public AssignCulture() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFilesWithCulture { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFilesWithNoCulture { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CultureNeutralAssignedFiles { get { throw null; } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class AssignLinkMetadata : TaskExtension
+ {
+ public AssignLinkMetadata() { }
+
+ public Framework.ITaskItem[] Items { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputItems { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class AssignProjectConfiguration : ResolveProjectBase
+ {
+ public bool AddSyntheticProjectReferencesForSolutionDependencies { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedProjects { get { throw null; } set { } }
+
+ public string CurrentProject { get { throw null; } set { } }
+
+ public string CurrentProjectConfiguration { get { throw null; } set { } }
+
+ public string CurrentProjectPlatform { get { throw null; } set { } }
+
+ public string DefaultToVcxPlatformMapping { get { throw null; } set { } }
+
+ public bool OnlyReferenceAndBuildProjectsEnabledInSolutionConfiguration { get { throw null; } set { } }
+
+ public string OutputType { get { throw null; } set { } }
+
+ public bool ResolveConfigurationPlatformUsingMappings { get { throw null; } set { } }
+
+ public bool ShouldUnsetParentConfigurationAndPlatform { get { throw null; } set { } }
+
+ public string SolutionConfigurationContents { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] UnassignedProjects { get { throw null; } set { } }
+
+ public string VcxToDefaultPlatformMapping { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class AssignTargetPath : TaskExtension
+ {
+ public AssignTargetPath() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AssignedFiles { get { throw null; } }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string RootFolder { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [Framework.RunInMTA]
+ public partial class CallTarget : TaskExtension
+ {
+ public CallTarget() { }
+
+ public bool RunEachTargetSeparately { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] TargetOutputs { get { throw null; } }
+
+ public string[] Targets { get { throw null; } set { } }
+
+ public bool UseResultsCache { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [System.Obsolete("The CodeTaskFactory is not supported on .NET Core. This class is included so that users receive run-time errors and should not be used for any other purpose.", true)]
+ public sealed partial class CodeTaskFactory : Framework.ITaskFactory
+ {
+ public string FactoryName { get { throw null; } }
+
+ public System.Type TaskType { get { throw null; } }
+
+ public void CleanupTask(Framework.ITask task) { }
+
+ public Framework.ITask CreateTask(Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+
+ public Framework.TaskPropertyInfo[] GetTaskParameters() { throw null; }
+
+ public bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+ }
+
+ public partial class CombinePath : TaskExtension
+ {
+ public CombinePath() { }
+
+ public string BasePath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CombinedPaths { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Paths { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CombineTargetFrameworkInfoProperties : TaskExtension
+ {
+ public CombineTargetFrameworkInfoProperties() { }
+
+ public Framework.ITaskItem[] PropertiesAndValues { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string Result { get { throw null; } set { } }
+
+ public string RootElementName { get { throw null; } set { } }
+
+ public bool UseAttributeForTargetFrameworkInfoPropertyNames { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CombineXmlElements : TaskExtension
+ {
+ public CombineXmlElements() { }
+
+ [Framework.Output]
+ public string Result { get { throw null; } set { } }
+
+ public string RootElementName { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] XmlElements { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CommandLineBuilderExtension : Utilities.CommandLineBuilder
+ {
+ public CommandLineBuilderExtension() { }
+
+ public CommandLineBuilderExtension(bool quoteHyphensOnCommandLine, bool useNewLineSeparator) { }
+
+ protected string GetQuotedText(string unquotedText) { throw null; }
+ }
+
+ public partial class ConvertToAbsolutePath : TaskExtension
+ {
+ public ConvertToAbsolutePath() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] AbsolutePaths { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Paths { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Copy : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Copy() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CopiedFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DestinationFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ public bool ErrorIfLinkFails { get { throw null; } set { } }
+
+ public bool OverwriteReadOnlyFiles { get { throw null; } set { } }
+
+ public int Retries { get { throw null; } set { } }
+
+ public int RetryDelayMilliseconds { get { throw null; } set { } }
+
+ public bool SkipUnchangedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SourceFiles { get { throw null; } set { } }
+
+ public bool UseHardlinksIfPossible { get { throw null; } set { } }
+
+ public bool UseSymboliclinksIfPossible { get { throw null; } set { } }
+
+ [Framework.Output]
+ public bool WroteAtLeastOneFile { get { throw null; } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CreateCSharpManifestResourceName : CreateManifestResourceName
+ {
+ protected override string SourceFileExtension { get { throw null; } }
+
+ protected override string CreateManifestName(string fileName, string linkFileName, string rootNamespace, string dependentUponFileName, System.IO.Stream binaryStream) { throw null; }
+
+ protected override bool IsSourceFile(string fileName) { throw null; }
+ }
+
+ public partial class CreateItem : TaskExtension
+ {
+ public CreateItem() { }
+
+ public string[] AdditionalMetadata { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Exclude { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Include { get { throw null; } set { } }
+
+ public bool PreserveExistingMetadata { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class CreateManifestResourceName : TaskExtension
+ {
+ protected System.Collections.Generic.Dictionary itemSpecToTaskitem;
+ protected CreateManifestResourceName() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ManifestResourceNames { get { throw null; } }
+
+ public bool PrependCultureAsDirectory { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] ResourceFiles { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResourceFilesWithManifestResourceNames { get { throw null; } set { } }
+
+ public string RootNamespace { get { throw null; } set { } }
+
+ protected abstract string SourceFileExtension { get; }
+
+ public bool UseDependentUponConvention { get { throw null; } set { } }
+
+ protected abstract string CreateManifestName(string fileName, string linkFileName, string rootNamespaceName, string dependentUponFileName, System.IO.Stream binaryStream);
+ public override bool Execute() { throw null; }
+
+ protected abstract bool IsSourceFile(string fileName);
+ public static string MakeValidEverettIdentifier(string name) { throw null; }
+ }
+
+ public partial class CreateProperty : TaskExtension
+ {
+ public CreateProperty() { }
+
+ [Framework.Output]
+ public string[] Value { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string[] ValueSetByTask { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class CreateVisualBasicManifestResourceName : CreateManifestResourceName
+ {
+ protected override string SourceFileExtension { get { throw null; } }
+
+ protected override string CreateManifestName(string fileName, string linkFileName, string rootNamespace, string dependentUponFileName, System.IO.Stream binaryStream) { throw null; }
+
+ protected override bool IsSourceFile(string fileName) { throw null; }
+ }
+
+ public partial class Delete : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Delete() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DeletedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool TreatErrorsAsWarnings { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class DownloadFile : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public DownloadFile() { }
+
+ public Framework.ITaskItem DestinationFileName { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem DownloadedFile { get { throw null; } set { } }
+
+ public int Retries { get { throw null; } set { } }
+
+ public int RetryDelayMilliseconds { get { throw null; } set { } }
+
+ public bool SkipUnchangedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string SourceUrl { get { throw null; } set { } }
+
+ public int Timeout { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Error : TaskExtension
+ {
+ public Error() { }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ public string HelpLink { get { throw null; } set { } }
+
+ public string Text { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ErrorFromResources : TaskExtension
+ {
+ public ErrorFromResources() { }
+
+ public string[] Arguments { get { throw null; } set { } }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string Resource { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Exec : ToolTaskExtension
+ {
+ public Exec() { }
+
+ [Framework.Required]
+ public string Command { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ConsoleOutput { get { throw null; } }
+
+ public bool ConsoleToMSBuild { get { throw null; } set { } }
+
+ public string CustomErrorRegularExpression { get { throw null; } set { } }
+
+ public string CustomWarningRegularExpression { get { throw null; } set { } }
+
+ public bool IgnoreExitCode { get { throw null; } set { } }
+
+ public bool IgnoreStandardErrorWarningFormat { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Outputs { get { throw null; } set { } }
+
+ protected override System.Text.Encoding StandardErrorEncoding { get { throw null; } }
+
+ protected override Framework.MessageImportance StandardErrorLoggingImportance { get { throw null; } }
+
+ protected override System.Text.Encoding StandardOutputEncoding { get { throw null; } }
+
+ protected override Framework.MessageImportance StandardOutputLoggingImportance { get { throw null; } }
+
+ [Framework.Output]
+ public string StdErrEncoding { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string StdOutEncoding { get { throw null; } set { } }
+
+ protected override string ToolName { get { throw null; } }
+
+ public string WorkingDirectory { get { throw null; } set { } }
+
+ protected internal override void AddCommandLineCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected override int ExecuteTool(string pathToTool, string responseFileCommands, string commandLineCommands) { throw null; }
+
+ protected override string GenerateFullPathToTool() { throw null; }
+
+ protected override string GetWorkingDirectory() { throw null; }
+
+ protected override bool HandleTaskExecutionErrors() { throw null; }
+
+ protected override void LogEventsFromTextOutput(string singleLine, Framework.MessageImportance messageImportance) { }
+
+ protected override void LogPathToTool(string toolName, string pathToTool) { }
+
+ protected override void LogToolCommand(string message) { }
+
+ protected override bool ValidateParameters() { throw null; }
+ }
+
+ public partial struct ExtractedClassName
+ {
+ private object _dummy;
+ private int _dummyPrimitive;
+ public bool IsInsideConditionalBlock { get { throw null; } set { } }
+
+ public string Name { get { throw null; } set { } }
+ }
+
+ public partial class FindAppConfigFile : TaskExtension
+ {
+ public FindAppConfigFile() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem AppConfigFile { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] PrimaryList { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SecondaryList { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class FindInList : TaskExtension
+ {
+ public FindInList() { }
+
+ public bool CaseSensitive { get { throw null; } set { } }
+
+ public bool FindLastMatch { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem ItemFound { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string ItemSpecToFind { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] List { get { throw null; } set { } }
+
+ public bool MatchFileNameOnly { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class FindInvalidProjectReferences : TaskExtension
+ {
+ public FindInvalidProjectReferences() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] InvalidReferences { get { throw null; } }
+
+ public Framework.ITaskItem[] ProjectReferences { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class FindUnderPath : TaskExtension
+ {
+ public FindUnderPath() { }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] InPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutOfPath { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem Path { get { throw null; } set { } }
+
+ public bool UpdateToAbsolutePaths { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class FormatUrl : TaskExtension
+ {
+ public FormatUrl() { }
+
+ public string InputUrl { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string OutputUrl { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class FormatVersion : TaskExtension
+ {
+ public FormatVersion() { }
+
+ public string FormatType { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string OutputVersion { get { throw null; } set { } }
+
+ public int Revision { get { throw null; } set { } }
+
+ public string Version { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class GenerateApplicationManifest : GenerateManifestBase
+ {
+ public string ClrVersion { get { throw null; } set { } }
+
+ public Framework.ITaskItem ConfigFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Dependencies { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] FileAssociations { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool HostInBrowser { get { throw null; } set { } }
+
+ public Framework.ITaskItem IconFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] IsolatedComReferences { get { throw null; } set { } }
+
+ public string ManifestType { get { throw null; } set { } }
+
+ public string OSVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public bool RequiresMinimumFramework35SP1 { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public string TargetFrameworkProfile { get { throw null; } set { } }
+
+ public string TargetFrameworkSubset { get { throw null; } set { } }
+
+ public Framework.ITaskItem TrustInfoFile { get { throw null; } set { } }
+
+ public bool UseApplicationTrust { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+
+ protected override System.Type GetObjectType() { throw null; }
+
+ protected override bool OnManifestLoaded(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected override bool OnManifestResolved(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected internal override bool ValidateInputs() { throw null; }
+ }
+
+ public partial class GenerateBindingRedirects : TaskExtension
+ {
+ public GenerateBindingRedirects() { }
+
+ public Framework.ITaskItem AppConfigFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputAppConfigFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] SuggestedRedirects { get { throw null; } set { } }
+
+ public string TargetName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class GenerateDeploymentManifest : GenerateManifestBase
+ {
+ public bool CreateDesktopShortcut { get { throw null; } set { } }
+
+ public string DeploymentUrl { get { throw null; } set { } }
+
+ public bool DisallowUrlActivation { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public bool Install { get { throw null; } set { } }
+
+ public bool MapFileExtensions { get { throw null; } set { } }
+
+ public string MinimumRequiredVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public bool TrustUrlParameters { get { throw null; } set { } }
+
+ public bool UpdateEnabled { get { throw null; } set { } }
+
+ public int UpdateInterval { get { throw null; } set { } }
+
+ public string UpdateMode { get { throw null; } set { } }
+
+ public string UpdateUnit { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+
+ protected override System.Type GetObjectType() { throw null; }
+
+ protected override bool OnManifestLoaded(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected override bool OnManifestResolved(Deployment.ManifestUtilities.Manifest manifest) { throw null; }
+
+ protected internal override bool ValidateInputs() { throw null; }
+ }
+
+ public sealed partial class GenerateLauncher : TaskExtension
+ {
+ public GenerateLauncher() { }
+
+ public string AssemblyName { get { throw null; } set { } }
+
+ public Framework.ITaskItem EntryPoint { get { throw null; } set { } }
+
+ public string LauncherPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputEntryPoint { get { throw null; } set { } }
+
+ public string OutputPath { get { throw null; } set { } }
+
+ public string VisualStudioVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class GenerateManifestBase : Utilities.Task
+ {
+ public string AssemblyName { get { throw null; } set { } }
+
+ public string AssemblyVersion { get { throw null; } set { } }
+
+ public string Description { get { throw null; } set { } }
+
+ public Framework.ITaskItem EntryPoint { get { throw null; } set { } }
+
+ public Framework.ITaskItem InputManifest { get { throw null; } set { } }
+
+ public bool LauncherBasedDeployment { get { throw null; } set { } }
+
+ public int MaxTargetPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputManifest { get { throw null; } set { } }
+
+ public string Platform { get { throw null; } set { } }
+
+ public string TargetCulture { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ protected internal Deployment.ManifestUtilities.AssemblyReference AddAssemblyFromItem(Framework.ITaskItem item) { throw null; }
+
+ protected internal Deployment.ManifestUtilities.AssemblyReference AddAssemblyNameFromItem(Framework.ITaskItem item, Deployment.ManifestUtilities.AssemblyReferenceType referenceType) { throw null; }
+
+ protected internal Deployment.ManifestUtilities.AssemblyReference AddEntryPointFromItem(Framework.ITaskItem item, Deployment.ManifestUtilities.AssemblyReferenceType referenceType) { throw null; }
+
+ protected internal Deployment.ManifestUtilities.FileReference AddFileFromItem(Framework.ITaskItem item) { throw null; }
+
+ public override bool Execute() { throw null; }
+
+ protected internal Deployment.ManifestUtilities.FileReference FindFileFromItem(Framework.ITaskItem item) { throw null; }
+
+ protected abstract System.Type GetObjectType();
+ protected abstract bool OnManifestLoaded(Deployment.ManifestUtilities.Manifest manifest);
+ protected abstract bool OnManifestResolved(Deployment.ManifestUtilities.Manifest manifest);
+ protected internal virtual bool ValidateInputs() { throw null; }
+
+ protected internal virtual bool ValidateOutput() { throw null; }
+ }
+
+ [Framework.RequiredRuntime("v2.0")]
+ public sealed partial class GenerateResource : TaskExtension
+ {
+ public GenerateResource() { }
+
+ public Framework.ITaskItem[] AdditionalInputs { get { throw null; } set { } }
+
+ public string[] EnvironmentVariables { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ExcludedInputPaths { get { throw null; } set { } }
+
+ public bool ExecuteAsTool { get { throw null; } set { } }
+
+ public bool ExtractResWFiles { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] FilesWritten { get { throw null; } }
+
+ public bool MinimalRebuildFromTracking { get { throw null; } set { } }
+
+ public bool NeverLockTypeAssemblies { get { throw null; } set { } }
+
+ public string OutputDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputResources { get { throw null; } set { } }
+
+ public bool PublicClass { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] References { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ [Framework.Required]
+ [Framework.Output]
+ public Framework.ITaskItem[] Sources { get { throw null; } set { } }
+
+ public Framework.ITaskItem StateFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string StronglyTypedClassName { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string StronglyTypedFileName { get { throw null; } set { } }
+
+ public string StronglyTypedLanguage { get { throw null; } set { } }
+
+ public string StronglyTypedManifestPrefix { get { throw null; } set { } }
+
+ public string StronglyTypedNamespace { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] TLogReadFiles { get { throw null; } }
+
+ public Framework.ITaskItem[] TLogWriteFiles { get { throw null; } }
+
+ public string ToolArchitecture { get { throw null; } set { } }
+
+ public string TrackerFrameworkPath { get { throw null; } set { } }
+
+ public string TrackerLogDirectory { get { throw null; } set { } }
+
+ public string TrackerSdkPath { get { throw null; } set { } }
+
+ public bool TrackFileAccess { get { throw null; } set { } }
+
+ public bool UsePreserializedResources { get { throw null; } set { } }
+
+ public bool UseSourcePath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetAssemblyIdentity : TaskExtension
+ {
+ public GetAssemblyIdentity() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Assemblies { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] AssemblyFiles { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetCompatiblePlatform : TaskExtension
+ {
+ public GetCompatiblePlatform() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] AnnotatedProjects { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[]? AssignedProjectsWithPlatform { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string CurrentProjectPlatform { get { throw null; } set { } }
+
+ public string PlatformLookupTable { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class GetFileHash : TaskExtension
+ {
+ public GetFileHash() { }
+
+ public string Algorithm { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string Hash { get { throw null; } set { } }
+
+ public string HashEncoding { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Items { get { throw null; } set { } }
+
+ public string MetadataName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetFrameworkPath : TaskExtension
+ {
+ public GetFrameworkPath() { }
+
+ [Framework.Output]
+ public string FrameworkVersion11Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion20Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion30Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion35Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion40Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion451Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion452Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion45Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion461Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion462Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion46Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion471Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion472Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion47Path { get { throw null; } }
+
+ [Framework.Output]
+ public string FrameworkVersion48Path { get { throw null; } }
+
+ [Framework.Output]
+ public string Path { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetInstalledSDKLocations : TaskExtension
+ {
+ public GetInstalledSDKLocations() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] InstalledSDKs { get { throw null; } set { } }
+
+ public string[] SDKDirectoryRoots { get { throw null; } set { } }
+
+ public string[] SDKExtensionDirectoryRoots { get { throw null; } set { } }
+
+ public string SDKRegistryRoot { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public bool WarnWhenNoSDKsFound { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetReferenceAssemblyPaths : TaskExtension
+ {
+ public GetReferenceAssemblyPaths() { }
+
+ public bool BypassFrameworkInstallChecks { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string[] FullFrameworkReferenceAssemblyPaths { get { throw null; } }
+
+ [Framework.Output]
+ public string[] ReferenceAssemblyPaths { get { throw null; } }
+
+ public string RootPath { get { throw null; } set { } }
+
+ public bool SuppressNotFoundError { get { throw null; } set { } }
+
+ public string TargetFrameworkFallbackSearchPaths { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string TargetFrameworkMonikerDisplayName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class GetSDKReferenceFiles : TaskExtension
+ {
+ public GetSDKReferenceFiles() { }
+
+ public string CacheFileFolderPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CopyLocalFiles { get { throw null; } }
+
+ public bool LogCacheFileExceptions { get { throw null; } set { } }
+
+ public bool LogRedistConflictBetweenSDKsAsWarning { get { throw null; } set { } }
+
+ public bool LogRedistConflictWithinSDKAsWarning { get { throw null; } set { } }
+
+ public bool LogRedistFilesList { get { throw null; } set { } }
+
+ public bool LogReferenceConflictBetweenSDKsAsWarning { get { throw null; } set { } }
+
+ public bool LogReferenceConflictWithinSDKAsWarning { get { throw null; } set { } }
+
+ public bool LogReferencesList { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] RedistFiles { get { throw null; } }
+
+ public string[] ReferenceExtensions { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] References { get { throw null; } }
+
+ public Framework.ITaskItem[] ResolvedSDKReferences { get { throw null; } set { } }
+
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public string TargetSDKIdentifier { get { throw null; } set { } }
+
+ public string TargetSDKVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Hash : TaskExtension
+ {
+ public Hash() { }
+
+ [Framework.Output]
+ public string HashResult { get { throw null; } set { } }
+
+ public bool IgnoreCase { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] ItemsToHash { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial interface IFixedTypeInfo
+ {
+ void AddressOfMember(int memid, System.Runtime.InteropServices.ComTypes.INVOKEKIND invKind, out System.IntPtr ppv);
+ void CreateInstance(object pUnkOuter, ref System.Guid riid, out object ppvObj);
+ void GetContainingTypeLib(out System.Runtime.InteropServices.ComTypes.ITypeLib ppTLB, out int pIndex);
+ void GetDllEntry(int memid, System.Runtime.InteropServices.ComTypes.INVOKEKIND invKind, System.IntPtr pBstrDllName, System.IntPtr pBstrName, System.IntPtr pwOrdinal);
+ void GetDocumentation(int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
+ void GetFuncDesc(int index, out System.IntPtr ppFuncDesc);
+ void GetIDsOfNames(string[] rgszNames, int cNames, int[] pMemId);
+ void GetImplTypeFlags(int index, out System.Runtime.InteropServices.ComTypes.IMPLTYPEFLAGS pImplTypeFlags);
+ void GetMops(int memid, out string pBstrMops);
+ void GetNames(int memid, string[] rgBstrNames, int cMaxNames, out int pcNames);
+ void GetRefTypeInfo(System.IntPtr hRef, out IFixedTypeInfo ppTI);
+ void GetRefTypeOfImplType(int index, out System.IntPtr href);
+ void GetTypeAttr(out System.IntPtr ppTypeAttr);
+ void GetTypeComp(out System.Runtime.InteropServices.ComTypes.ITypeComp ppTComp);
+ void GetVarDesc(int index, out System.IntPtr ppVarDesc);
+ void Invoke(object pvInstance, int memid, short wFlags, ref System.Runtime.InteropServices.ComTypes.DISPPARAMS pDispParams, System.IntPtr pVarResult, System.IntPtr pExcepInfo, out int puArgErr);
+ void ReleaseFuncDesc(System.IntPtr pFuncDesc);
+ void ReleaseTypeAttr(System.IntPtr pTypeAttr);
+ void ReleaseVarDesc(System.IntPtr pVarDesc);
+ }
+
+ public partial class LC : ToolTaskExtension
+ {
+ public LC() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem LicenseTarget { get { throw null; } set { } }
+
+ public bool NoLogo { get { throw null; } set { } }
+
+ public string OutputDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputLicense { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ReferencedAssemblies { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Sources { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ protected override string ToolName { get { throw null; } }
+
+ protected internal override void AddCommandLineCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected internal override void AddResponseFileCommands(CommandLineBuilderExtension commandLine) { }
+
+ public override bool Execute() { throw null; }
+
+ protected override string GenerateFullPathToTool() { throw null; }
+
+ protected override bool ValidateParameters() { throw null; }
+ }
+
+ public partial class MakeDir : TaskExtension
+ {
+ public MakeDir() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Directories { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DirectoriesCreated { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Message : TaskExtension
+ {
+ public Message() { }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ public string Importance { get { throw null; } set { } }
+
+ public bool IsCritical { get { throw null; } set { } }
+
+ public string Text { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class Move : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Move() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] DestinationFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] MovedFiles { get { throw null; } }
+
+ public bool OverwriteReadOnlyFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SourceFiles { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [Framework.RunInMTA]
+ public partial class MSBuild : TaskExtension
+ {
+ public MSBuild() { }
+
+ public bool BuildInParallel { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Projects { get { throw null; } set { } }
+
+ public string[] Properties { get { throw null; } set { } }
+
+ public bool RebaseOutputs { get { throw null; } set { } }
+
+ public string RemoveProperties { get { throw null; } set { } }
+
+ public bool RunEachTargetSeparately { get { throw null; } set { } }
+
+ public string SkipNonexistentProjects { get { throw null; } set { } }
+
+ public bool StopOnFirstFailure { get { throw null; } set { } }
+
+ public string[] TargetAndPropertyListSeparators { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] TargetOutputs { get { throw null; } }
+
+ public string[] Targets { get { throw null; } set { } }
+
+ public string ToolsVersion { get { throw null; } set { } }
+
+ public bool UnloadProjectsOnCompletion { get { throw null; } set { } }
+
+ public bool UseResultsCache { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ReadLinesFromFile : TaskExtension
+ {
+ public ReadLinesFromFile() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem File { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Lines { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class RemoveDir : TaskExtension
+ {
+ public RemoveDir() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Directories { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] RemovedDirectories { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class RemoveDuplicates : TaskExtension
+ {
+ public RemoveDuplicates() { }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Filtered { get { throw null; } set { } }
+
+ [Framework.Output]
+ public bool HadAnyDuplicates { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Inputs { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ResolveAssemblyReference : TaskExtension
+ {
+ public ResolveAssemblyReference() { }
+
+ public string[] AllowedAssemblyExtensions { get { throw null; } set { } }
+
+ public string[] AllowedRelatedFileExtensions { get { throw null; } set { } }
+
+ public string AppConfigFile { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Assemblies { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] AssemblyFiles { get { throw null; } set { } }
+
+ public string AssemblyInformationCacheOutputPath { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] AssemblyInformationCachePaths { get { throw null; } set { } }
+
+ public bool AutoUnify { get { throw null; } set { } }
+
+ public string[] CandidateAssemblyFiles { get { throw null; } set { } }
+
+ public bool CopyLocalDependenciesWhenParentReferenceInGac { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] CopyLocalFiles { get { throw null; } }
+
+ [Framework.Output]
+ public string DependsOnNETStandard { get { throw null; } }
+
+ [Framework.Output]
+ public string DependsOnSystemRuntime { get { throw null; } }
+
+ public bool DoNotCopyLocalIfInGac { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] FilesWritten { get { throw null; } set { } }
+
+ public bool FindDependencies { get { throw null; } set { } }
+
+ public bool FindDependenciesOfExternallyResolvedReferences { get { throw null; } set { } }
+
+ public bool FindRelatedFiles { get { throw null; } set { } }
+
+ public bool FindSatellites { get { throw null; } set { } }
+
+ public bool FindSerializationAssemblies { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] FullFrameworkAssemblyTables { get { throw null; } set { } }
+
+ public string[] FullFrameworkFolders { get { throw null; } set { } }
+
+ public string[] FullTargetFrameworkSubsetNames { get { throw null; } set { } }
+
+ public bool IgnoreDefaultInstalledAssemblySubsetTables { get { throw null; } set { } }
+
+ public bool IgnoreDefaultInstalledAssemblyTables { get { throw null; } set { } }
+
+ public bool IgnoreTargetFrameworkAttributeVersionMismatch { get { throw null; } set { } }
+
+ public bool IgnoreVersionForFrameworkReferences { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] InstalledAssemblySubsetTables { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] InstalledAssemblyTables { get { throw null; } set { } }
+
+ public string[] LatestTargetFrameworkDirectories { get { throw null; } set { } }
+
+ public bool OutputUnresolvedAssemblyConflicts { get { throw null; } set { } }
+
+ public string ProfileName { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] RelatedFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedDependencyFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedFiles { get { throw null; } }
+
+ public Framework.ITaskItem[] ResolvedSDKReferences { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SatelliteFiles { get { throw null; } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ScatterFiles { get { throw null; } }
+
+ [Framework.Required]
+ public string[] SearchPaths { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SerializationAssemblyFiles { get { throw null; } }
+
+ public bool Silent { get { throw null; } set { } }
+
+ public string StateFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SuggestedRedirects { get { throw null; } }
+
+ public bool SupportsBindingRedirectGeneration { get { throw null; } set { } }
+
+ public string TargetedRuntimeVersion { get { throw null; } set { } }
+
+ public string[] TargetFrameworkDirectories { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ public string TargetFrameworkMonikerDisplayName { get { throw null; } set { } }
+
+ public string[] TargetFrameworkSubsets { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public string TargetProcessorArchitecture { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] UnresolvedAssemblyConflicts { get { throw null; } }
+
+ public bool UnresolveFrameworkAssembliesFromHigherFrameworks { get { throw null; } set { } }
+
+ public string WarnOrErrorOnTargetArchitectureMismatch { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ResolveCodeAnalysisRuleSet : TaskExtension
+ {
+ public ResolveCodeAnalysisRuleSet() { }
+
+ public string CodeAnalysisRuleSet { get { throw null; } set { } }
+
+ public string[] CodeAnalysisRuleSetDirectories { get { throw null; } set { } }
+
+ public string MSBuildProjectDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedCodeAnalysisRuleSet { get { throw null; } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ResolveComReference : TaskExtension
+ {
+ public ResolveComReference() { }
+
+ public bool DelaySign { get { throw null; } set { } }
+
+ public string[] EnvironmentVariables { get { throw null; } set { } }
+
+ public bool ExecuteAsTool { get { throw null; } set { } }
+
+ public bool IncludeVersionInInteropName { get { throw null; } set { } }
+
+ public string KeyContainer { get { throw null; } set { } }
+
+ public string KeyFile { get { throw null; } set { } }
+
+ public bool NoClassMembers { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ResolvedAssemblyReferences { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedFiles { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedModules { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ public bool Silent { get { throw null; } set { } }
+
+ public string StateFile { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public string TargetProcessorArchitecture { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] TypeLibFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] TypeLibNames { get { throw null; } set { } }
+
+ public string WrapperOutputDirectory { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ResolveKeySource : TaskExtension
+ {
+ public ResolveKeySource() { }
+
+ public int AutoClosePasswordPromptShow { get { throw null; } set { } }
+
+ public int AutoClosePasswordPromptTimeout { get { throw null; } set { } }
+
+ public string CertificateFile { get { throw null; } set { } }
+
+ public string CertificateThumbprint { get { throw null; } set { } }
+
+ public string KeyFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedKeyContainer { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedKeyFile { get { throw null; } set { } }
+
+ [Framework.Output]
+ public string ResolvedThumbprint { get { throw null; } set { } }
+
+ public bool ShowImportDialogDespitePreviousFailures { get { throw null; } set { } }
+
+ public bool SuppressAutoClosePasswordPrompt { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ResolveManifestFiles : TaskExtension
+ {
+ public ResolveManifestFiles() { }
+
+ public string AssemblyName { get { throw null; } set { } }
+
+ public Framework.ITaskItem DeploymentManifestEntryPoint { get { throw null; } set { } }
+
+ public Framework.ITaskItem EntryPoint { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ExtraFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool IsSelfContainedPublish { get { throw null; } set { } }
+
+ public bool IsSingleFilePublish { get { throw null; } set { } }
+
+ public bool LauncherBasedDeployment { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] ManagedAssemblies { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] NativeAssemblies { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputAssemblies { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputDeploymentManifestEntryPoint { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputEntryPoint { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] OutputFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] PublishFiles { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] RuntimePackAssets { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] SatelliteAssemblies { get { throw null; } set { } }
+
+ public bool SigningManifests { get { throw null; } set { } }
+
+ public string TargetCulture { get { throw null; } set { } }
+
+ public string TargetFrameworkIdentifier { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class ResolveNonMSBuildProjectOutput : ResolveProjectBase
+ {
+ public string PreresolvedProjectOutputs { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedOutputPaths { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] UnresolvedProjectReferences { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class ResolveProjectBase : TaskExtension
+ {
+ protected ResolveProjectBase() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] ProjectReferences { get { throw null; } set { } }
+
+ protected void AddSyntheticProjectReferences(string currentProjectAbsolutePath) { }
+
+ protected System.Xml.XmlElement GetProjectElement(Framework.ITaskItem projectRef) { throw null; }
+
+ protected string GetProjectItem(Framework.ITaskItem projectRef) { throw null; }
+ }
+
+ public partial class ResolveSDKReference : TaskExtension
+ {
+ public ResolveSDKReference() { }
+
+ public Framework.ITaskItem[] DisallowedSDKDependencies { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] InstalledSDKs { get { throw null; } set { } }
+
+ public bool LogResolutionErrorsAsWarnings { get { throw null; } set { } }
+
+ public bool Prefer32Bit { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string ProjectName { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] References { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] ResolvedSDKReferences { get { throw null; } }
+
+ public Framework.ITaskItem[] RuntimeReferenceOnlySDKDependencies { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SDKReferences { get { throw null; } set { } }
+
+ public string TargetedSDKArchitecture { get { throw null; } set { } }
+
+ public string TargetedSDKConfiguration { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformIdentifier { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string TargetPlatformVersion { get { throw null; } set { } }
+
+ public bool WarnOnMissingPlatformVersion { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class RoslynCodeTaskFactory : Framework.ITaskFactory
+ {
+ public string FactoryName { get { throw null; } }
+
+ public System.Type TaskType { get { throw null; } }
+
+ public void CleanupTask(Framework.ITask task) { }
+
+ public Framework.ITask CreateTask(Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+
+ public Framework.TaskPropertyInfo[] GetTaskParameters() { throw null; }
+
+ public bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+ }
+
+ public partial class SGen : ToolTaskExtension
+ {
+ public SGen() { }
+
+ [Framework.Required]
+ public string BuildAssemblyName { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string BuildAssemblyPath { get { throw null; } set { } }
+
+ public bool DelaySign { get { throw null; } set { } }
+
+ public string KeyContainer { get { throw null; } set { } }
+
+ public string KeyFile { get { throw null; } set { } }
+
+ public string Platform { get { throw null; } set { } }
+
+ public string[] References { get { throw null; } set { } }
+
+ public string SdkToolsPath { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] SerializationAssembly { get { throw null; } set { } }
+
+ public string SerializationAssemblyName { get { throw null; } }
+
+ [Framework.Required]
+ public bool ShouldGenerateSerializer { get { throw null; } set { } }
+
+ protected override string ToolName { get { throw null; } }
+
+ public string[] Types { get { throw null; } set { } }
+
+ public bool UseKeep { get { throw null; } set { } }
+
+ [Framework.Required]
+ public bool UseProxyTypes { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+
+ protected override string GenerateFullPathToTool() { throw null; }
+ }
+
+ public sealed partial class SignFile : Utilities.Task
+ {
+ [Framework.Required]
+ public string CertificateThumbprint { get { throw null; } set { } }
+
+ public bool DisallowMansignTimestampFallback { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem SigningTarget { get { throw null; } set { } }
+
+ public string TargetFrameworkIdentifier { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public string TimestampUrl { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class TaskExtension : Utilities.Task
+ {
+ internal TaskExtension() { }
+
+ public new Utilities.TaskLoggingHelper Log { get { throw null; } }
+ }
+
+ public partial class TaskLoggingHelperExtension : Utilities.TaskLoggingHelper
+ {
+ public TaskLoggingHelperExtension(Framework.ITask taskInstance, System.Resources.ResourceManager primaryResources, System.Resources.ResourceManager sharedResources, string helpKeywordPrefix) : base(default!) { }
+
+ public System.Resources.ResourceManager TaskSharedResources { get { throw null; } set { } }
+
+ public override string FormatResourceString(string resourceName, params object[] args) { throw null; }
+ }
+
+ public sealed partial class Telemetry : TaskExtension
+ {
+ public Telemetry() { }
+
+ public string EventData { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string EventName { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public abstract partial class ToolTaskExtension : Utilities.ToolTask
+ {
+ internal ToolTaskExtension() { }
+
+ protected internal System.Collections.Hashtable Bag { get { throw null; } }
+
+ protected override bool HasLoggedErrors { get { throw null; } }
+
+ public Utilities.TaskLoggingHelper Log { get { throw null; } }
+
+ protected virtual bool UseNewLineSeparatorInResponseFile { get { throw null; } }
+
+ protected internal virtual void AddCommandLineCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected internal virtual void AddResponseFileCommands(CommandLineBuilderExtension commandLine) { }
+
+ protected override string GenerateCommandLineCommands() { throw null; }
+
+ protected override string GenerateResponseFileCommands() { throw null; }
+
+ protected internal bool GetBoolParameterWithDefault(string parameterName, bool defaultValue) { throw null; }
+
+ protected internal int GetIntParameterWithDefault(string parameterName, int defaultValue) { throw null; }
+ }
+
+ public partial class Touch : TaskExtension
+ {
+ public Touch() { }
+
+ public bool AlwaysCreate { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] Files { get { throw null; } set { } }
+
+ public bool ForceTouch { get { throw null; } set { } }
+
+ public string Time { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] TouchedFiles { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Unzip : TaskExtension, Framework.ICancelableTask, Framework.ITask
+ {
+ public Unzip() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem DestinationFolder { get { throw null; } set { } }
+
+ public string Exclude { get { throw null; } set { } }
+
+ public string Include { get { throw null; } set { } }
+
+ public bool OverwriteReadOnlyFiles { get { throw null; } set { } }
+
+ public bool SkipUnchangedFiles { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] SourceFiles { get { throw null; } set { } }
+
+ public void Cancel() { }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class VerifyFileHash : TaskExtension
+ {
+ public VerifyFileHash() { }
+
+ public string Algorithm { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string File { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string Hash { get { throw null; } set { } }
+
+ public string HashEncoding { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class Warning : TaskExtension
+ {
+ public Warning() { }
+
+ public string Code { get { throw null; } set { } }
+
+ public string File { get { throw null; } set { } }
+
+ public string HelpKeyword { get { throw null; } set { } }
+
+ public string HelpLink { get { throw null; } set { } }
+
+ public string Text { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class WriteCodeFragment : TaskExtension
+ {
+ public WriteCodeFragment() { }
+
+ public Framework.ITaskItem[] AssemblyAttributes { get { throw null; } set { } }
+
+ [Framework.Required]
+ public string Language { get { throw null; } set { } }
+
+ public Framework.ITaskItem OutputDirectory { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem OutputFile { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class WriteLinesToFile : TaskExtension
+ {
+ public WriteLinesToFile() { }
+
+ public string Encoding { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem File { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] Lines { get { throw null; } set { } }
+
+ public bool Overwrite { get { throw null; } set { } }
+
+ public bool WriteOnlyWhenDifferent { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ [System.Obsolete("The XamlTaskFactory is not supported on .NET Core. This class is included so that users receive run-time errors and should not be used for any other purpose.", true)]
+ public sealed partial class XamlTaskFactory : Framework.ITaskFactory
+ {
+ public string FactoryName { get { throw null; } }
+
+ public System.Type TaskType { get { throw null; } }
+
+ public void CleanupTask(Framework.ITask task) { }
+
+ public Framework.ITask CreateTask(Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+
+ public Framework.TaskPropertyInfo[] GetTaskParameters() { throw null; }
+
+ public bool Initialize(string taskName, System.Collections.Generic.IDictionary parameterGroup, string taskBody, Framework.IBuildEngine taskFactoryLoggingHost) { throw null; }
+ }
+
+ public partial class XmlPeek : TaskExtension
+ {
+ public XmlPeek() { }
+
+ public string Namespaces { get { throw null; } set { } }
+
+ public bool ProhibitDtd { get { throw null; } set { } }
+
+ public string Query { get { throw null; } set { } }
+
+ [Framework.Output]
+ public Framework.ITaskItem[] Result { get { throw null; } }
+
+ public string XmlContent { get { throw null; } set { } }
+
+ public Framework.ITaskItem XmlInputPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class XmlPoke : TaskExtension
+ {
+ public XmlPoke() { }
+
+ public string Namespaces { get { throw null; } set { } }
+
+ public string Query { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem Value { get { throw null; } set { } }
+
+ public Framework.ITaskItem XmlInputPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public partial class XslTransformation : TaskExtension
+ {
+ public XslTransformation() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem[] OutputPaths { get { throw null; } set { } }
+
+ public string Parameters { get { throw null; } set { } }
+
+ public bool UseTrustedSettings { get { throw null; } set { } }
+
+ public string XmlContent { get { throw null; } set { } }
+
+ public Framework.ITaskItem[] XmlInputPaths { get { throw null; } set { } }
+
+ public Framework.ITaskItem XslCompiledDllPath { get { throw null; } set { } }
+
+ public string XslContent { get { throw null; } set { } }
+
+ public Framework.ITaskItem XslInputPath { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+
+ public sealed partial class ZipDirectory : TaskExtension
+ {
+ public ZipDirectory() { }
+
+ [Framework.Required]
+ public Framework.ITaskItem DestinationFile { get { throw null; } set { } }
+
+ public bool Overwrite { get { throw null; } set { } }
+
+ [Framework.Required]
+ public Framework.ITaskItem SourceDirectory { get { throw null; } set { } }
+
+ public override bool Execute() { throw null; }
+ }
+}
+
+namespace Microsoft.Build.Tasks.Deployment.Bootstrapper
+{
+ public partial class BootstrapperBuilder : IBootstrapperBuilder
+ {
+ public BootstrapperBuilder() { }
+
+ public BootstrapperBuilder(string visualStudioVersion) { }
+
+ public string Path { get { throw null; } set { } }
+
+ public ProductCollection Products { get { throw null; } }
+
+ public BuildResults Build(BuildSettings settings) { throw null; }
+
+ public string[] GetOutputFolders(string[] productCodes, string culture, string fallbackCulture, ComponentsLocation componentsLocation) { throw null; }
+
+ public static string XmlToConfigurationFile(System.Xml.XmlNode input) { throw null; }
+ }
+
+ public partial class BuildMessage : IBuildMessage
+ {
+ internal BuildMessage() { }
+
+ public int HelpId { get { throw null; } }
+
+ public string HelpKeyword { get { throw null; } }
+
+ public string Message { get { throw null; } }
+
+ public BuildMessageSeverity Severity { get { throw null; } }
+ }
+
+ public enum BuildMessageSeverity
+ {
+ Info = 0,
+ Warning = 1,
+ Error = 2
+ }
+
+ public partial class BuildResults : IBuildResults
+ {
+ internal BuildResults() { }
+
+ public string[] ComponentFiles { get { throw null; } }
+
+ public string KeyFile { get { throw null; } }
+
+ public BuildMessage[] Messages { get { throw null; } }
+
+ public bool Succeeded { get { throw null; } }
+ }
+
+ public partial class BuildSettings : IBuildSettings
+ {
+ public string ApplicationFile { get { throw null; } set { } }
+
+ public string ApplicationName { get { throw null; } set { } }
+
+ public bool ApplicationRequiresElevation { get { throw null; } set { } }
+
+ public string ApplicationUrl { get { throw null; } set { } }
+
+ public ComponentsLocation ComponentsLocation { get { throw null; } set { } }
+
+ public string ComponentsUrl { get { throw null; } set { } }
+
+ public bool CopyComponents { get { throw null; } set { } }
+
+ public int FallbackLCID { get { throw null; } set { } }
+
+ public int LCID { get { throw null; } set { } }
+
+ public string OutputPath { get { throw null; } set { } }
+
+ public ProductBuilderCollection ProductBuilders { get { throw null; } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public bool Validate { get { throw null; } set { } }
+ }
+
+ public enum ComponentsLocation
+ {
+ HomeSite = 0,
+ Relative = 1,
+ Absolute = 2
+ }
+
+ public partial interface IBootstrapperBuilder
+ {
+ [System.Runtime.InteropServices.DispId(1)]
+ string Path { get; set; }
+
+ [System.Runtime.InteropServices.DispId(4)]
+ ProductCollection Products { get; }
+
+ [System.Runtime.InteropServices.DispId(5)]
+ BuildResults Build(BuildSettings settings);
+ }
+
+ public partial interface IBuildMessage
+ {
+ [System.Runtime.InteropServices.DispId(4)]
+ int HelpId { get; }
+
+ [System.Runtime.InteropServices.DispId(3)]
+ string HelpKeyword { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ string Message { get; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ BuildMessageSeverity Severity { get; }
+ }
+
+ public partial interface IBuildResults
+ {
+ [System.Runtime.InteropServices.DispId(3)]
+ string[] ComponentFiles { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ string KeyFile { get; }
+
+ [System.Runtime.InteropServices.DispId(4)]
+ BuildMessage[] Messages { get; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ bool Succeeded { get; }
+ }
+
+ public partial interface IBuildSettings
+ {
+ [System.Runtime.InteropServices.DispId(2)]
+ string ApplicationFile { get; set; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ string ApplicationName { get; set; }
+
+ [System.Runtime.InteropServices.DispId(13)]
+ bool ApplicationRequiresElevation { get; set; }
+
+ [System.Runtime.InteropServices.DispId(3)]
+ string ApplicationUrl { get; set; }
+
+ [System.Runtime.InteropServices.DispId(11)]
+ ComponentsLocation ComponentsLocation { get; set; }
+
+ [System.Runtime.InteropServices.DispId(4)]
+ string ComponentsUrl { get; set; }
+
+ [System.Runtime.InteropServices.DispId(5)]
+ bool CopyComponents { get; set; }
+
+ [System.Runtime.InteropServices.DispId(7)]
+ int FallbackLCID { get; set; }
+
+ [System.Runtime.InteropServices.DispId(6)]
+ int LCID { get; set; }
+
+ [System.Runtime.InteropServices.DispId(8)]
+ string OutputPath { get; set; }
+
+ [System.Runtime.InteropServices.DispId(9)]
+ ProductBuilderCollection ProductBuilders { get; }
+
+ [System.Runtime.InteropServices.DispId(12)]
+ string SupportUrl { get; set; }
+
+ [System.Runtime.InteropServices.DispId(10)]
+ bool Validate { get; set; }
+ }
+
+ public partial interface IProduct
+ {
+ [System.Runtime.InteropServices.DispId(4)]
+ ProductCollection Includes { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ string Name { get; }
+
+ [System.Runtime.InteropServices.DispId(1)]
+ ProductBuilder ProductBuilder { get; }
+
+ [System.Runtime.InteropServices.DispId(3)]
+ string ProductCode { get; }
+ }
+
+ public partial interface IProductBuilder
+ {
+ [System.Runtime.InteropServices.DispId(1)]
+ Product Product { get; }
+ }
+
+ public partial interface IProductBuilderCollection
+ {
+ [System.Runtime.InteropServices.DispId(2)]
+ void Add(ProductBuilder builder);
+ }
+
+ public partial interface IProductCollection
+ {
+ [System.Runtime.InteropServices.DispId(1)]
+ int Count { get; }
+
+ [System.Runtime.InteropServices.DispId(2)]
+ Product Item(int index);
+ [System.Runtime.InteropServices.DispId(3)]
+ Product Product(string productCode);
+ }
+
+ public partial class Product : IProduct
+ {
+ public ProductCollection Includes { get { throw null; } }
+
+ public string Name { get { throw null; } }
+
+ public ProductBuilder ProductBuilder { get { throw null; } }
+
+ public string ProductCode { get { throw null; } }
+ }
+
+ public partial class ProductBuilder : IProductBuilder
+ {
+ internal ProductBuilder() { }
+
+ public Product Product { get { throw null; } }
+ }
+
+ public partial class ProductBuilderCollection : IProductBuilderCollection, System.Collections.IEnumerable
+ {
+ internal ProductBuilderCollection() { }
+
+ public void Add(ProductBuilder builder) { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public partial class ProductCollection : IProductCollection, System.Collections.IEnumerable
+ {
+ internal ProductCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+
+ public Product Item(int index) { throw null; }
+
+ public Product Product(string productCode) { throw null; }
+ }
+}
+
+namespace Microsoft.Build.Tasks.Deployment.ManifestUtilities
+{
+ public sealed partial class ApplicationIdentity
+ {
+ public ApplicationIdentity(string url, AssemblyIdentity deployManifestIdentity, AssemblyIdentity applicationManifestIdentity) { }
+
+ public ApplicationIdentity(string url, string deployManifestPath, string applicationManifestPath) { }
+
+ public override string ToString() { throw null; }
+ }
+
+ public sealed partial class ApplicationManifest : AssemblyManifest
+ {
+ public ApplicationManifest() { }
+
+ public ApplicationManifest(string targetFrameworkVersion) { }
+
+ public string ConfigFile { get { throw null; } set { } }
+
+ public override AssemblyReference EntryPoint { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public FileAssociationCollection FileAssociations { get { throw null; } }
+
+ public bool HostInBrowser { get { throw null; } set { } }
+
+ public string IconFile { get { throw null; } set { } }
+
+ public bool IsClickOnceManifest { get { throw null; } set { } }
+
+ public int MaxTargetPath { get { throw null; } set { } }
+
+ public string OSDescription { get { throw null; } set { } }
+
+ public string OSSupportUrl { get { throw null; } set { } }
+
+ public string OSVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public string TargetFrameworkVersion { get { throw null; } set { } }
+
+ public TrustInfo TrustInfo { get { throw null; } set { } }
+
+ public bool UseApplicationTrust { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlConfigFile { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlElement("EntryPointIdentity")]
+ public AssemblyIdentity XmlEntryPointIdentity { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlEntryPointParameters { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlEntryPointPath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlErrorReportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("FileAssociations")]
+ public FileAssociation[] XmlFileAssociations { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHostInBrowser { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIconFile { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsClickOnceManifest { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSBuild { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSMajor { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSMinor { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSRevision { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlOSSupportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProduct { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPublisher { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSuiteName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSupportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUseApplicationTrust { get { throw null; } set { } }
+
+ public override void Validate() { }
+ }
+
+ public sealed partial class AssemblyIdentity
+ {
+ public AssemblyIdentity() { }
+
+ public AssemblyIdentity(AssemblyIdentity identity) { }
+
+ public AssemblyIdentity(string name, string version, string publicKeyToken, string culture, string processorArchitecture, string type) { }
+
+ public AssemblyIdentity(string name, string version, string publicKeyToken, string culture, string processorArchitecture) { }
+
+ public AssemblyIdentity(string name, string version, string publicKeyToken, string culture) { }
+
+ public AssemblyIdentity(string name, string version) { }
+
+ public AssemblyIdentity(string name) { }
+
+ public string Culture { get { throw null; } set { } }
+
+ public bool IsFrameworkAssembly { get { throw null; } }
+
+ public bool IsNeutralPlatform { get { throw null; } }
+
+ public bool IsStrongName { get { throw null; } }
+
+ public string Name { get { throw null; } set { } }
+
+ public string ProcessorArchitecture { get { throw null; } set { } }
+
+ public string PublicKeyToken { get { throw null; } set { } }
+
+ public string Type { get { throw null; } set { } }
+
+ public string Version { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlCulture { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProcessorArchitecture { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPublicKeyToken { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlType { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersion { get { throw null; } set { } }
+
+ public static AssemblyIdentity FromAssemblyName(string assemblyName) { throw null; }
+
+ public static AssemblyIdentity FromFile(string path) { throw null; }
+
+ public static AssemblyIdentity FromManagedAssembly(string path) { throw null; }
+
+ public static AssemblyIdentity FromManifest(string path) { throw null; }
+
+ public static AssemblyIdentity FromNativeAssembly(string path) { throw null; }
+
+ public string GetFullName(FullNameFlags flags) { throw null; }
+
+ public bool IsInFramework(string frameworkIdentifier, string frameworkVersion) { throw null; }
+
+ public override string ToString() { throw null; }
+
+ [System.Flags]
+ public enum FullNameFlags
+ {
+ Default = 0,
+ ProcessorArchitecture = 1,
+ Type = 2,
+ All = 3
+ }
+ }
+
+ public partial class AssemblyManifest : Manifest
+ {
+ public ProxyStub[] ExternalProxyStubs { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("ExternalProxyStubs")]
+ public ProxyStub[] XmlExternalProxyStubs { get { throw null; } set { } }
+ }
+
+ public sealed partial class AssemblyReference : BaseReference
+ {
+ public AssemblyReference() { }
+
+ public AssemblyReference(string path) { }
+
+ public AssemblyIdentity AssemblyIdentity { get { throw null; } set { } }
+
+ public bool IsPrerequisite { get { throw null; } set { } }
+
+ public AssemblyReferenceType ReferenceType { get { throw null; } set { } }
+
+ protected internal override string SortName { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlElement("AssemblyIdentity")]
+ public AssemblyIdentity XmlAssemblyIdentity { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsNative { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsPrerequisite { get { throw null; } set { } }
+
+ public override string ToString() { throw null; }
+ }
+
+ public sealed partial class AssemblyReferenceCollection : System.Collections.IEnumerable
+ {
+ internal AssemblyReferenceCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public AssemblyReference this[int index] { get { throw null; } }
+
+ public AssemblyReference Add(AssemblyReference assembly) { throw null; }
+
+ public AssemblyReference Add(string path) { throw null; }
+
+ public void Clear() { }
+
+ public AssemblyReference Find(AssemblyIdentity identity) { throw null; }
+
+ public AssemblyReference Find(string name) { throw null; }
+
+ public AssemblyReference FindTargetPath(string targetPath) { throw null; }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+
+ public void Remove(AssemblyReference assemblyReference) { }
+ }
+
+ public enum AssemblyReferenceType
+ {
+ Unspecified = 0,
+ ClickOnceManifest = 1,
+ ManagedAssembly = 2,
+ NativeAssembly = 3
+ }
+
+ public abstract partial class BaseReference
+ {
+ protected internal BaseReference() { }
+
+ protected internal BaseReference(string path) { }
+
+ public string Group { get { throw null; } set { } }
+
+ public string Hash { get { throw null; } set { } }
+
+ public bool IsOptional { get { throw null; } set { } }
+
+ public string ResolvedPath { get { throw null; } set { } }
+
+ public long Size { get { throw null; } set { } }
+
+ protected internal abstract string SortName { get; }
+
+ public string SourcePath { get { throw null; } set { } }
+
+ public string TargetPath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlGroup { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHash { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHashAlgorithm { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIsOptional { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSize { get { throw null; } set { } }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class ComClass
+ {
+ public string ClsId { get { throw null; } }
+
+ public string Description { get { throw null; } }
+
+ public string ProgId { get { throw null; } }
+
+ public string ThreadingModel { get { throw null; } }
+
+ public string TlbId { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlClsId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProgId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlThreadingModel { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTlbId { get { throw null; } set { } }
+ }
+
+ public sealed partial class CompatibleFramework
+ {
+ public string Profile { get { throw null; } set { } }
+
+ public string SupportedRuntime { get { throw null; } set { } }
+
+ public string Version { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProfile { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSupportedRuntime { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersion { get { throw null; } set { } }
+ }
+
+ public sealed partial class CompatibleFrameworkCollection : System.Collections.IEnumerable
+ {
+ internal CompatibleFrameworkCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public CompatibleFramework this[int index] { get { throw null; } }
+
+ public void Add(CompatibleFramework compatibleFramework) { }
+
+ public void Clear() { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public sealed partial class DeployManifest : Manifest
+ {
+ public DeployManifest() { }
+
+ public DeployManifest(string targetFrameworkMoniker) { }
+
+ public CompatibleFrameworkCollection CompatibleFrameworks { get { throw null; } }
+
+ public bool CreateDesktopShortcut { get { throw null; } set { } }
+
+ public string DeploymentUrl { get { throw null; } set { } }
+
+ public bool DisallowUrlActivation { get { throw null; } set { } }
+
+ public override AssemblyReference EntryPoint { get { throw null; } set { } }
+
+ public string ErrorReportUrl { get { throw null; } set { } }
+
+ public bool Install { get { throw null; } set { } }
+
+ public bool MapFileExtensions { get { throw null; } set { } }
+
+ public string MinimumRequiredVersion { get { throw null; } set { } }
+
+ public string Product { get { throw null; } set { } }
+
+ public string Publisher { get { throw null; } set { } }
+
+ public string SuiteName { get { throw null; } set { } }
+
+ public string SupportUrl { get { throw null; } set { } }
+
+ public string TargetFrameworkMoniker { get { throw null; } set { } }
+
+ public bool TrustUrlParameters { get { throw null; } set { } }
+
+ public bool UpdateEnabled { get { throw null; } set { } }
+
+ public int UpdateInterval { get { throw null; } set { } }
+
+ public UpdateMode UpdateMode { get { throw null; } set { } }
+
+ public UpdateUnit UpdateUnit { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("CompatibleFrameworks")]
+ public CompatibleFramework[] XmlCompatibleFrameworks { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlCreateDesktopShortcut { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDeploymentUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDisallowUrlActivation { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlErrorReportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlInstall { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlMapFileExtensions { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlMinimumRequiredVersion { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProduct { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlPublisher { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSuiteName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSupportUrl { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTrustUrlParameters { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateEnabled { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateInterval { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateMode { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlUpdateUnit { get { throw null; } set { } }
+
+ public override void Validate() { }
+ }
+
+ public sealed partial class FileAssociation
+ {
+ public string DefaultIcon { get { throw null; } set { } }
+
+ public string Description { get { throw null; } set { } }
+
+ public string Extension { get { throw null; } set { } }
+
+ public string ProgId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDefaultIcon { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlExtension { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlProgId { get { throw null; } set { } }
+ }
+
+ public sealed partial class FileAssociationCollection : System.Collections.IEnumerable
+ {
+ internal FileAssociationCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public FileAssociation this[int index] { get { throw null; } }
+
+ public void Add(FileAssociation fileAssociation) { }
+
+ public void Clear() { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public sealed partial class FileReference : BaseReference
+ {
+ public FileReference() { }
+
+ public FileReference(string path) { }
+
+ public ComClass[] ComClasses { get { throw null; } }
+
+ public bool IsDataFile { get { throw null; } set { } }
+
+ public ProxyStub[] ProxyStubs { get { throw null; } }
+
+ protected internal override string SortName { get { throw null; } }
+
+ public TypeLib[] TypeLibs { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("ComClasses")]
+ public ComClass[] XmlComClasses { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("ProxyStubs")]
+ public ProxyStub[] XmlProxyStubs { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("TypeLibs")]
+ public TypeLib[] XmlTypeLibs { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlWriteableType { get { throw null; } set { } }
+ }
+
+ public sealed partial class FileReferenceCollection : System.Collections.IEnumerable
+ {
+ internal FileReferenceCollection() { }
+
+ public int Count { get { throw null; } }
+
+ public FileReference this[int index] { get { throw null; } }
+
+ public FileReference Add(FileReference file) { throw null; }
+
+ public FileReference Add(string path) { throw null; }
+
+ public void Clear() { }
+
+ public FileReference FindTargetPath(string targetPath) { throw null; }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+
+ public void Remove(FileReference file) { }
+ }
+
+ public partial class LauncherBuilder
+ {
+ public LauncherBuilder(string launcherPath) { }
+
+ public string LauncherPath { get { throw null; } set { } }
+
+ public Bootstrapper.BuildResults Build(string filename, string outputPath) { throw null; }
+ }
+
+ public abstract partial class Manifest
+ {
+ protected internal Manifest() { }
+
+ public AssemblyIdentity AssemblyIdentity { get { throw null; } set { } }
+
+ public string AssemblyName { get { throw null; } set { } }
+
+ public AssemblyReferenceCollection AssemblyReferences { get { throw null; } }
+
+ public string Description { get { throw null; } set { } }
+
+ public virtual AssemblyReference EntryPoint { get { throw null; } set { } }
+
+ public FileReferenceCollection FileReferences { get { throw null; } }
+
+ public System.IO.Stream InputStream { get { throw null; } set { } }
+
+ public bool LauncherBasedDeployment { get { throw null; } set { } }
+
+ public OutputMessageCollection OutputMessages { get { throw null; } }
+
+ public bool ReadOnly { get { throw null; } set { } }
+
+ public string SourcePath { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlElement("AssemblyIdentity")]
+ public AssemblyIdentity XmlAssemblyIdentity { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("AssemblyReferences")]
+ public AssemblyReference[] XmlAssemblyReferences { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlDescription { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ [System.Xml.Serialization.XmlArray("FileReferences")]
+ public FileReference[] XmlFileReferences { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlSchema { get { throw null; } set { } }
+
+ public void ResolveFiles() { }
+
+ public void ResolveFiles(string[] searchPaths) { }
+
+ public override string ToString() { throw null; }
+
+ public void UpdateFileInfo() { }
+
+ public void UpdateFileInfo(string targetFrameworkVersion) { }
+
+ public virtual void Validate() { }
+
+ protected void ValidatePlatform() { }
+ }
+
+ public static partial class ManifestReader
+ {
+ public static Manifest ReadManifest(System.IO.Stream input, bool preserveStream) { throw null; }
+
+ public static Manifest ReadManifest(string path, bool preserveStream) { throw null; }
+
+ public static Manifest ReadManifest(string manifestType, System.IO.Stream input, bool preserveStream) { throw null; }
+
+ public static Manifest ReadManifest(string manifestType, string path, bool preserveStream) { throw null; }
+ }
+
+ public static partial class ManifestWriter
+ {
+ public static void WriteManifest(Manifest manifest, System.IO.Stream output) { }
+
+ public static void WriteManifest(Manifest manifest, string path, string targetframeWorkVersion) { }
+
+ public static void WriteManifest(Manifest manifest, string path) { }
+
+ public static void WriteManifest(Manifest manifest) { }
+ }
+
+ public sealed partial class OutputMessage
+ {
+ internal OutputMessage() { }
+
+ public string Name { get { throw null; } }
+
+ public string Text { get { throw null; } }
+
+ public OutputMessageType Type { get { throw null; } }
+
+ public string[] GetArguments() { throw null; }
+ }
+
+ public sealed partial class OutputMessageCollection : System.Collections.IEnumerable
+ {
+ internal OutputMessageCollection() { }
+
+ public int ErrorCount { get { throw null; } }
+
+ public OutputMessage this[int index] { get { throw null; } }
+
+ public int WarningCount { get { throw null; } }
+
+ public void Clear() { }
+
+ public System.Collections.IEnumerator GetEnumerator() { throw null; }
+ }
+
+ public enum OutputMessageType
+ {
+ Info = 0,
+ Warning = 1,
+ Error = 2
+ }
+
+ public partial class ProxyStub
+ {
+ public string BaseInterface { get { throw null; } }
+
+ public string IID { get { throw null; } }
+
+ public string Name { get { throw null; } }
+
+ public string NumMethods { get { throw null; } }
+
+ public string TlbId { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlBaseInterface { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlIID { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlNumMethods { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTlbId { get { throw null; } set { } }
+ }
+
+ public static partial class SecurityUtilities
+ {
+ public static void SignFile(System.Security.Cryptography.X509Certificates.X509Certificate2 cert, System.Uri timestampUrl, string path) { }
+
+ public static void SignFile(string certPath, System.Security.SecureString certPassword, System.Uri timestampUrl, string path) { }
+
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path, string targetFrameworkVersion, string targetFrameworkIdentifier, bool disallowMansignTimestampFallback) { }
+
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path, string targetFrameworkVersion, string targetFrameworkIdentifier) { }
+
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path, string targetFrameworkVersion) { }
+
+ public static void SignFile(string certThumbprint, System.Uri timestampUrl, string path) { }
+ }
+
+ public sealed partial class TrustInfo
+ {
+ public bool HasUnmanagedCodePermission { get { throw null; } }
+
+ public bool IsFullTrust { get { throw null; } }
+
+ public bool PreserveFullTrustPermissionSet { get { throw null; } set { } }
+
+ public string SameSiteAccess { get { throw null; } set { } }
+
+ public void Clear() { }
+
+ public void Read(System.IO.Stream input) { }
+
+ public void Read(string path) { }
+
+ public void ReadManifest(System.IO.Stream input) { }
+
+ public void ReadManifest(string path) { }
+
+ public override string ToString() { throw null; }
+
+ public void Write(System.IO.Stream output) { }
+
+ public void Write(string path) { }
+
+ public void WriteManifest(System.IO.Stream input, System.IO.Stream output) { }
+
+ public void WriteManifest(System.IO.Stream output) { }
+
+ public void WriteManifest(string path) { }
+ }
+
+ public partial class TypeLib
+ {
+ public string Flags { get { throw null; } }
+
+ public string HelpDirectory { get { throw null; } }
+
+ public string ResourceId { get { throw null; } }
+
+ public string TlbId { get { throw null; } }
+
+ public string Version { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlFlags { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlHelpDirectory { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlResourceId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlTlbId { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersion { get { throw null; } set { } }
+ }
+
+ public enum UpdateMode
+ {
+ Background = 0,
+ Foreground = 1
+ }
+
+ public enum UpdateUnit
+ {
+ Hours = 0,
+ Days = 1,
+ Weeks = 2
+ }
+
+ public partial class WindowClass
+ {
+ public WindowClass() { }
+
+ public WindowClass(string name, bool versioned) { }
+
+ public string Name { get { throw null; } }
+
+ public bool Versioned { get { throw null; } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlName { get { throw null; } set { } }
+
+ [System.ComponentModel.Browsable(false)]
+ public string XmlVersioned { get { throw null; } set { } }
+ }
+}
+
+namespace Microsoft.Build.Tasks.Hosting
+{
+ public partial interface IAnalyzerHostObject
+ {
+ bool SetAdditionalFiles(Framework.ITaskItem[] additionalFiles);
+ bool SetAnalyzers(Framework.ITaskItem[] analyzers);
+ bool SetRuleSet(string ruleSetFile);
+ }
+
+ public partial interface ICscHostObject : Framework.ITaskHost
+ {
+ void BeginInitialization();
+ bool Compile();
+ bool EndInitialization(out string errorMessage, out int errorCode);
+ bool IsDesignTime();
+ bool IsUpToDate();
+ bool SetAdditionalLibPaths(string[] additionalLibPaths);
+ bool SetAddModules(string[] addModules);
+ bool SetAllowUnsafeBlocks(bool allowUnsafeBlocks);
+ bool SetBaseAddress(string baseAddress);
+ bool SetCheckForOverflowUnderflow(bool checkForOverflowUnderflow);
+ bool SetCodePage(int codePage);
+ bool SetDebugType(string debugType);
+ bool SetDefineConstants(string defineConstants);
+ bool SetDelaySign(bool delaySignExplicitlySet, bool delaySign);
+ bool SetDisabledWarnings(string disabledWarnings);
+ bool SetDocumentationFile(string documentationFile);
+ bool SetEmitDebugInformation(bool emitDebugInformation);
+ bool SetErrorReport(string errorReport);
+ bool SetFileAlignment(int fileAlignment);
+ bool SetGenerateFullPaths(bool generateFullPaths);
+ bool SetKeyContainer(string keyContainer);
+ bool SetKeyFile(string keyFile);
+ bool SetLangVersion(string langVersion);
+ bool SetLinkResources(Framework.ITaskItem[] linkResources);
+ bool SetMainEntryPoint(string targetType, string mainEntryPoint);
+ bool SetModuleAssemblyName(string moduleAssemblyName);
+ bool SetNoConfig(bool noConfig);
+ bool SetNoStandardLib(bool noStandardLib);
+ bool SetOptimize(bool optimize);
+ bool SetOutputAssembly(string outputAssembly);
+ bool SetPdbFile(string pdbFile);
+ bool SetPlatform(string platform);
+ bool SetReferences(Framework.ITaskItem[] references);
+ bool SetResources(Framework.ITaskItem[] resources);
+ bool SetResponseFiles(Framework.ITaskItem[] responseFiles);
+ bool SetSources(Framework.ITaskItem[] sources);
+ bool SetTargetType(string targetType);
+ bool SetTreatWarningsAsErrors(bool treatWarningsAsErrors);
+ bool SetWarningLevel(int warningLevel);
+ bool SetWarningsAsErrors(string warningsAsErrors);
+ bool SetWarningsNotAsErrors(string warningsNotAsErrors);
+ bool SetWin32Icon(string win32Icon);
+ bool SetWin32Resource(string win32Resource);
+ }
+
+ public partial interface ICscHostObject2 : ICscHostObject, Framework.ITaskHost
+ {
+ bool SetWin32Manifest(string win32Manifest);
+ }
+
+ public partial interface ICscHostObject3 : ICscHostObject2, ICscHostObject, Framework.ITaskHost
+ {
+ bool SetApplicationConfiguration(string applicationConfiguration);
+ }
+
+ public partial interface ICscHostObject4 : ICscHostObject3, ICscHostObject2, ICscHostObject, Framework.ITaskHost
+ {
+ bool SetHighEntropyVA(bool highEntropyVA);
+ bool SetPlatformWith32BitPreference(string platformWith32BitPreference);
+ bool SetSubsystemVersion(string subsystemVersion);
+ }
+
+ public partial interface IVbcHostObject : Framework.ITaskHost
+ {
+ void BeginInitialization();
+ bool Compile();
+ void EndInitialization();
+ bool IsDesignTime();
+ bool IsUpToDate();
+ bool SetAdditionalLibPaths(string[] additionalLibPaths);
+ bool SetAddModules(string[] addModules);
+ bool SetBaseAddress(string targetType, string baseAddress);
+ bool SetCodePage(int codePage);
+ bool SetDebugType(bool emitDebugInformation, string debugType);
+ bool SetDefineConstants(string defineConstants);
+ bool SetDelaySign(bool delaySign);
+ bool SetDisabledWarnings(string disabledWarnings);
+ bool SetDocumentationFile(string documentationFile);
+ bool SetErrorReport(string errorReport);
+ bool SetFileAlignment(int fileAlignment);
+ bool SetGenerateDocumentation(bool generateDocumentation);
+ bool SetImports(Framework.ITaskItem[] importsList);
+ bool SetKeyContainer(string keyContainer);
+ bool SetKeyFile(string keyFile);
+ bool SetLinkResources(Framework.ITaskItem[] linkResources);
+ bool SetMainEntryPoint(string mainEntryPoint);
+ bool SetNoConfig(bool noConfig);
+ bool SetNoStandardLib(bool noStandardLib);
+ bool SetNoWarnings(bool noWarnings);
+ bool SetOptimize(bool optimize);
+ bool SetOptionCompare(string optionCompare);
+ bool SetOptionExplicit(bool optionExplicit);
+ bool SetOptionStrict(bool optionStrict);
+ bool SetOptionStrictType(string optionStrictType);
+ bool SetOutputAssembly(string outputAssembly);
+ bool SetPlatform(string platform);
+ bool SetReferences(Framework.ITaskItem[] references);
+ bool SetRemoveIntegerChecks(bool removeIntegerChecks);
+ bool SetResources(Framework.ITaskItem[] resources);
+ bool SetResponseFiles(Framework.ITaskItem[] responseFiles);
+ bool SetRootNamespace(string rootNamespace);
+ bool SetSdkPath(string sdkPath);
+ bool SetSources(Framework.ITaskItem[] sources);
+ bool SetTargetCompactFramework(bool targetCompactFramework);
+ bool SetTargetType(string targetType);
+ bool SetTreatWarningsAsErrors(bool treatWarningsAsErrors);
+ bool SetWarningsAsErrors(string warningsAsErrors);
+ bool SetWarningsNotAsErrors(string warningsNotAsErrors);
+ bool SetWin32Icon(string win32Icon);
+ bool SetWin32Resource(string win32Resource);
+ }
+
+ public partial interface IVbcHostObject2 : IVbcHostObject, Framework.ITaskHost
+ {
+ bool SetModuleAssemblyName(string moduleAssemblyName);
+ bool SetOptionInfer(bool optionInfer);
+ bool SetWin32Manifest(string win32Manifest);
+ }
+
+ public partial interface IVbcHostObject3 : IVbcHostObject2, IVbcHostObject, Framework.ITaskHost
+ {
+ bool SetLanguageVersion(string languageVersion);
+ }
+
+ public partial interface IVbcHostObject4 : IVbcHostObject3, IVbcHostObject2, IVbcHostObject, Framework.ITaskHost
+ {
+ bool SetVBRuntime(string VBRuntime);
+ }
+
+ public partial interface IVbcHostObject5 : IVbcHostObject4, IVbcHostObject3, IVbcHostObject2, IVbcHostObject, Framework.ITaskHost
+ {
+ int CompileAsync(out System.IntPtr buildSucceededEvent, out System.IntPtr buildFailedEvent);
+ int EndCompile(bool buildSuccess);
+ IVbcHostObjectFreeThreaded GetFreeThreadedHostObject();
+ bool SetHighEntropyVA(bool highEntropyVA);
+ bool SetPlatformWith32BitPreference(string platformWith32BitPreference);
+ bool SetSubsystemVersion(string subsystemVersion);
+ }
+
+ public partial interface IVbcHostObjectFreeThreaded
+ {
+ bool Compile();
+ }
+}
+
+namespace System.Deployment.Internal.CodeSigning
+{
+ public sealed partial class RSAPKCS1SHA256SignatureDescription : Security.Cryptography.SignatureDescription
+ {
+ public override Security.Cryptography.AsymmetricSignatureDeformatter CreateDeformatter(Security.Cryptography.AsymmetricAlgorithm key) { throw null; }
+
+ public override Security.Cryptography.AsymmetricSignatureFormatter CreateFormatter(Security.Cryptography.AsymmetricAlgorithm key) { throw null; }
+ }
+}
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/Microsoft.Build.Utilities.Core.17.3.4.csproj b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/Microsoft.Build.Utilities.Core.17.3.4.csproj
new file mode 100644
index 0000000000..bca82a648e
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/Microsoft.Build.Utilities.Core.17.3.4.csproj
@@ -0,0 +1,26 @@
+
+
+
+ net6.0;netstandard2.0
+ Microsoft.Build.Utilities.Core
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/microsoft.build.utilities.core.nuspec b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/microsoft.build.utilities.core.nuspec
new file mode 100644
index 0000000000..502b5c0995
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/microsoft.build.utilities.core.nuspec
@@ -0,0 +1,35 @@
+
+
+
+ Microsoft.Build.Utilities.Core
+ 17.3.4
+ Microsoft
+ true
+ MIT
+ https://licenses.nuget.org/MIT
+ http://go.microsoft.com/fwlink/?LinkId=624683
+ https://go.microsoft.com/fwlink/?linkid=825694
+ This package contains the Microsoft.Build.Utilities assembly which is used to implement custom MSBuild tasks.
+ © Microsoft Corporation. All rights reserved.
+ MSBuild
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/ref/net6.0/Microsoft.Build.Utilities.Core.cs b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/ref/net6.0/Microsoft.Build.Utilities.Core.cs
new file mode 100644
index 0000000000..6d44e869c3
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/ref/net6.0/Microsoft.Build.Utilities.Core.cs
@@ -0,0 +1,812 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Utilities.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
+[assembly: System.Resources.NeutralResourcesLanguage("en")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("Release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Microsoft.Build.Utilities.Core.dll")]
+[assembly: System.Reflection.AssemblyFileVersion("17.3.4.17815")]
+[assembly: System.Reflection.AssemblyInformationalVersion("17.3.4+a400405ba8c43976eda92a70d4adf72f9d292a22")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® Build Tools®")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Build.Utilities.Core.dll")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/msbuild")]
+[assembly: System.Reflection.AssemblyVersionAttribute("15.1.0.0")]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.Build.Utilities
+{
+ [Framework.LoadInSeparateAppDomain]
+ [System.Obsolete("AppDomains are no longer supported in .NET Core or .NET 5.0 or higher.")]
+ public abstract partial class AppDomainIsolatedTask : System.MarshalByRefObject, Framework.ITask
+ {
+ protected AppDomainIsolatedTask() { }
+
+ protected AppDomainIsolatedTask(System.Resources.ResourceManager taskResources, string helpKeywordPrefix) { }
+
+ protected AppDomainIsolatedTask(System.Resources.ResourceManager taskResources) { }
+
+ public Framework.IBuildEngine BuildEngine { get { throw null; } set { } }
+
+ protected string HelpKeywordPrefix { get { throw null; } set { } }
+
+ public Framework.ITaskHost HostObject { get { throw null; } set { } }
+
+ public TaskLoggingHelper Log { get { throw null; } }
+
+ protected System.Resources.ResourceManager TaskResources { get { throw null; } set { } }
+
+ public abstract bool Execute();
+ [System.Obsolete("AppDomains are no longer supported in .NET Core or .NET 5.0 or higher.")]
+ public override object InitializeLifetimeService() { throw null; }
+ }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public partial class AssemblyFoldersExInfo
+ {
+ public AssemblyFoldersExInfo(Win32.RegistryHive hive, Win32.RegistryView view, string registryKey, string directoryPath, System.Version targetFrameworkVersion) { }
+
+ public string DirectoryPath { get { throw null; } }
+
+ public Win32.RegistryHive Hive { get { throw null; } }
+
+ public string Key { get { throw null; } }
+
+ public System.Version TargetFrameworkVersion { get { throw null; } }
+
+ public Win32.RegistryView View { get { throw null; } }
+ }
+
+ public partial class AssemblyFoldersFromConfigInfo
+ {
+ public AssemblyFoldersFromConfigInfo(string directoryPath, System.Version targetFrameworkVersion) { }
+
+ public string DirectoryPath { get { throw null; } }
+
+ public System.Version TargetFrameworkVersion { get { throw null; } }
+ }
+
+ public partial class CommandLineBuilder
+ {
+ public CommandLineBuilder() { }
+
+ public CommandLineBuilder(bool quoteHyphensOnCommandLine, bool useNewLineSeparator) { }
+
+ public CommandLineBuilder(bool quoteHyphensOnCommandLine) { }
+
+ protected System.Text.StringBuilder CommandLine { get { throw null; } }
+
+ public int Length { get { throw null; } }
+
+ public void AppendFileNameIfNotNull(Framework.ITaskItem fileItem) { }
+
+ public void AppendFileNameIfNotNull(string fileName) { }
+
+ public void AppendFileNamesIfNotNull(Framework.ITaskItem[] fileItems, string delimiter) { }
+
+ public void AppendFileNamesIfNotNull(string[] fileNames, string delimiter) { }
+
+ protected void AppendFileNameWithQuoting(string fileName) { }
+
+ protected void AppendQuotedTextToBuffer(System.Text.StringBuilder buffer, string unquotedTextToAppend) { }
+
+ protected void AppendSpaceIfNotEmpty() { }
+
+ public void AppendSwitch(string switchName) { }
+
+ public void AppendSwitchIfNotNull(string switchName, Framework.ITaskItem parameter) { }
+
+ public void AppendSwitchIfNotNull(string switchName, Framework.ITaskItem[] parameters, string delimiter) { }
+
+ public void AppendSwitchIfNotNull(string switchName, string parameter) { }
+
+ public void AppendSwitchIfNotNull(string switchName, string[] parameters, string delimiter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, Framework.ITaskItem parameter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, Framework.ITaskItem[] parameters, string delimiter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, string parameter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, string[] parameters, string delimiter) { }
+
+ public void AppendTextUnquoted(string textToAppend) { }
+
+ protected void AppendTextWithQuoting(string textToAppend) { }
+
+ protected virtual bool IsQuotingRequired(string parameter) { throw null; }
+
+ public override string ToString() { throw null; }
+
+ protected virtual void VerifyThrowNoEmbeddedDoubleQuotes(string switchName, string parameter) { }
+ }
+
+ public enum DotNetFrameworkArchitecture
+ {
+ Current = 0,
+ Bitness32 = 1,
+ Bitness64 = 2
+ }
+
+ public enum HostObjectInitializationStatus
+ {
+ UseHostObjectToExecute = 0,
+ UseAlternateToolToExecute = 1,
+ NoActionReturnSuccess = 2,
+ NoActionReturnFailure = 3
+ }
+
+ public abstract partial class Logger : Framework.ILogger
+ {
+ public virtual string Parameters { get { throw null; } set { } }
+
+ public virtual Framework.LoggerVerbosity Verbosity { get { throw null; } set { } }
+
+ public virtual string FormatErrorEvent(Framework.BuildErrorEventArgs args) { throw null; }
+
+ public virtual string FormatWarningEvent(Framework.BuildWarningEventArgs args) { throw null; }
+
+ public abstract void Initialize(Framework.IEventSource eventSource);
+ public bool IsVerbosityAtLeast(Framework.LoggerVerbosity checkVerbosity) { throw null; }
+
+ public virtual void Shutdown() { }
+ }
+
+ public enum MultipleVersionSupport
+ {
+ Allow = 0,
+ Warning = 1,
+ Error = 2
+ }
+
+ public partial class MuxLogger : Framework.INodeLogger, Framework.ILogger
+ {
+ public bool IncludeEvaluationMetaprojects { get { throw null; } set { } }
+
+ public bool IncludeEvaluationProfiles { get { throw null; } set { } }
+
+ public bool IncludeEvaluationPropertiesAndItems { get { throw null; } set { } }
+
+ public bool IncludeTaskInputs { get { throw null; } set { } }
+
+ public string Parameters { get { throw null; } set { } }
+
+ public Framework.LoggerVerbosity Verbosity { get { throw null; } set { } }
+
+ public void Initialize(Framework.IEventSource eventSource, int maxNodeCount) { }
+
+ public void Initialize(Framework.IEventSource eventSource) { }
+
+ public void RegisterLogger(int submissionId, Framework.ILogger logger) { }
+
+ public void Shutdown() { }
+
+ public bool UnregisterLoggers(int submissionId) { throw null; }
+ }
+
+ public static partial class ProcessorArchitecture
+ {
+ public const string AMD64 = "AMD64";
+ public const string ARM = "ARM";
+ public const string ARM64 = "ARM64";
+ public const string IA64 = "IA64";
+ public const string MSIL = "MSIL";
+ public const string X86 = "x86";
+ public static string CurrentProcessArchitecture { get { throw null; } }
+ }
+
+ public partial class SDKManifest
+ {
+ public SDKManifest(string pathToSdk) { }
+
+ public System.Collections.Generic.IDictionary AppxLocations { get { throw null; } }
+
+ public string CopyRedistToSubDirectory { get { throw null; } }
+
+ public string DependsOnSDK { get { throw null; } }
+
+ public string DisplayName { get { throw null; } }
+
+ public System.Collections.Generic.IDictionary FrameworkIdentities { get { throw null; } }
+
+ public string FrameworkIdentity { get { throw null; } }
+
+ public string MaxOSVersionTested { get { throw null; } }
+
+ public string MaxPlatformVersion { get { throw null; } }
+
+ public string MinOSVersion { get { throw null; } }
+
+ public string MinVSVersion { get { throw null; } }
+
+ public string MoreInfo { get { throw null; } }
+
+ public string PlatformIdentity { get { throw null; } }
+
+ public string ProductFamilyName { get { throw null; } }
+
+ public bool ReadError { get { throw null; } }
+
+ public string ReadErrorMessage { get { throw null; } }
+
+ public SDKType SDKType { get { throw null; } }
+
+ public string SupportedArchitectures { get { throw null; } }
+
+ public string SupportPrefer32Bit { get { throw null; } }
+
+ public MultipleVersionSupport SupportsMultipleVersions { get { throw null; } }
+
+ public string TargetPlatform { get { throw null; } }
+
+ public string TargetPlatformMinVersion { get { throw null; } }
+
+ public string TargetPlatformVersion { get { throw null; } }
+
+ public static partial class Attributes
+ {
+ public const string APPX = "APPX";
+ public const string AppxLocation = "AppxLocation";
+ public const string CopyLocalExpandedReferenceAssemblies = "CopyLocalExpandedReferenceAssemblies";
+ public const string CopyRedist = "CopyRedist";
+ public const string CopyRedistToSubDirectory = "CopyRedistToSubDirectory";
+ public const string DependsOnSDK = "DependsOn";
+ public const string DisplayName = "DisplayName";
+ public const string ExpandReferenceAssemblies = "ExpandReferenceAssemblies";
+ public const string FrameworkIdentity = "FrameworkIdentity";
+ public const string MaxOSVersionTested = "MaxOSVersionTested";
+ public const string MaxPlatformVersion = "MaxPlatformVersion";
+ public const string MinOSVersion = "MinOSVersion";
+ public const string MinVSVersion = "MinVSVersion";
+ public const string MoreInfo = "MoreInfo";
+ public const string PlatformIdentity = "PlatformIdentity";
+ public const string ProductFamilyName = "ProductFamilyName";
+ public const string SDKType = "SDKType";
+ public const string SupportedArchitectures = "SupportedArchitectures";
+ public const string SupportPrefer32Bit = "SupportPrefer32Bit";
+ public const string SupportsMultipleVersions = "SupportsMultipleVersions";
+ public const string TargetedSDK = "TargetedSDKArchitecture";
+ public const string TargetedSDKConfiguration = "TargetedSDKConfiguration";
+ public const string TargetPlatform = "TargetPlatform";
+ public const string TargetPlatformMinVersion = "TargetPlatformMinVersion";
+ public const string TargetPlatformVersion = "TargetPlatformVersion";
+ }
+ }
+
+ public enum SDKType
+ {
+ Unspecified = 0,
+ External = 1,
+ Platform = 2,
+ Framework = 3
+ }
+
+ public enum TargetDotNetFrameworkVersion
+ {
+ Version11 = 0,
+ Version20 = 1,
+ Version30 = 2,
+ Version35 = 3,
+ Version40 = 4,
+ Version45 = 5,
+ Version451 = 6,
+ Version46 = 7,
+ Version461 = 8,
+ Version452 = 9,
+ Version462 = 10,
+ Version47 = 11,
+ Version471 = 12,
+ Version472 = 13,
+ Version48 = 14,
+ VersionLatest = 14,
+ Latest = 9999
+ }
+
+ public partial class TargetPlatformSDK : System.IEquatable
+ {
+ public TargetPlatformSDK(string targetPlatformIdentifier, System.Version targetPlatformVersion, string path) { }
+
+ public string DisplayName { get { throw null; } }
+
+ public System.Version MinOSVersion { get { throw null; } }
+
+ public System.Version MinVSVersion { get { throw null; } }
+
+ public string Path { get { throw null; } set { } }
+
+ public string TargetPlatformIdentifier { get { throw null; } }
+
+ public System.Version TargetPlatformVersion { get { throw null; } }
+
+ public bool ContainsPlatform(string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public bool Equals(TargetPlatformSDK other) { throw null; }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+ }
+
+ public abstract partial class Task : Framework.ITask
+ {
+ protected Task() { }
+
+ protected Task(System.Resources.ResourceManager taskResources, string helpKeywordPrefix) { }
+
+ protected Task(System.Resources.ResourceManager taskResources) { }
+
+ public Framework.IBuildEngine BuildEngine { get { throw null; } set { } }
+
+ public Framework.IBuildEngine2 BuildEngine2 { get { throw null; } }
+
+ public Framework.IBuildEngine3 BuildEngine3 { get { throw null; } }
+
+ public Framework.IBuildEngine4 BuildEngine4 { get { throw null; } }
+
+ public Framework.IBuildEngine5 BuildEngine5 { get { throw null; } }
+
+ public Framework.IBuildEngine6 BuildEngine6 { get { throw null; } }
+
+ public Framework.IBuildEngine7 BuildEngine7 { get { throw null; } }
+
+ public Framework.IBuildEngine8 BuildEngine8 { get { throw null; } }
+
+ public Framework.IBuildEngine9 BuildEngine9 { get { throw null; } }
+
+ protected string HelpKeywordPrefix { get { throw null; } set { } }
+
+ public Framework.ITaskHost HostObject { get { throw null; } set { } }
+
+ public TaskLoggingHelper Log { get { throw null; } }
+
+ protected System.Resources.ResourceManager TaskResources { get { throw null; } set { } }
+
+ public abstract bool Execute();
+ }
+
+ public sealed partial class TaskItem : Framework.ITaskItem2, Framework.ITaskItem
+ {
+ public TaskItem() { }
+
+ public TaskItem(Framework.ITaskItem sourceItem) { }
+
+ public TaskItem(string itemSpec, System.Collections.IDictionary itemMetadata) { }
+
+ public TaskItem(string itemSpec) { }
+
+ public string ItemSpec { get { throw null; } set { } }
+
+ public int MetadataCount { get { throw null; } }
+
+ public System.Collections.ICollection MetadataNames { get { throw null; } }
+
+ string Framework.ITaskItem2.EvaluatedIncludeEscaped { get { throw null; } set { } }
+
+ public System.Collections.IDictionary CloneCustomMetadata() { throw null; }
+
+ public void CopyMetadataTo(Framework.ITaskItem destinationItem) { }
+
+ public string GetMetadata(string metadataName) { throw null; }
+
+ System.Collections.IDictionary Framework.ITaskItem2.CloneCustomMetadataEscaped() { throw null; }
+
+ string Framework.ITaskItem2.GetMetadataValueEscaped(string metadataName) { throw null; }
+
+ void Framework.ITaskItem2.SetMetadataValueLiteral(string metadataName, string metadataValue) { }
+
+ public static explicit operator string(TaskItem taskItemToCast) { throw null; }
+
+ public void RemoveMetadata(string metadataName) { }
+
+ public void SetMetadata(string metadataName, string metadataValue) { }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class TaskLoggingHelper
+ {
+ public TaskLoggingHelper(Framework.IBuildEngine buildEngine, string taskName) { }
+
+ public TaskLoggingHelper(Framework.ITask taskInstance) { }
+
+ protected Framework.IBuildEngine BuildEngine { get { throw null; } }
+
+ public bool HasLoggedErrors { get { throw null; } }
+
+ public string HelpKeywordPrefix { get { throw null; } set { } }
+
+ public bool IsTaskInputLoggingEnabled { get { throw null; } }
+
+ protected string TaskName { get { throw null; } }
+
+ public System.Resources.ResourceManager TaskResources { get { throw null; } set { } }
+
+ public string ExtractMessageCode(string message, out string messageWithoutCodePrefix) { throw null; }
+
+ public virtual string FormatResourceString(string resourceName, params object[] args) { throw null; }
+
+ public virtual string FormatString(string unformatted, params object[] args) { throw null; }
+
+ public virtual string GetResourceMessage(string resourceName) { throw null; }
+
+ public void LogCommandLine(Framework.MessageImportance importance, string commandLine) { }
+
+ public void LogCommandLine(string commandLine) { }
+
+ public void LogCriticalMessage(string subcategory, string code, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogError(string message, params object[] messageArgs) { }
+
+ public void LogError(string subcategory, string errorCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogError(string subcategory, string errorCode, string helpKeyword, string helpLink, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogErrorFromException(System.Exception exception, bool showStackTrace, bool showDetail, string file) { }
+
+ public void LogErrorFromException(System.Exception exception, bool showStackTrace) { }
+
+ public void LogErrorFromException(System.Exception exception) { }
+
+ public void LogErrorFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogErrorFromResources(string subcategoryResourceName, string errorCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogErrorWithCodeFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogErrorWithCodeFromResources(string subcategoryResourceName, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogExternalProjectFinished(string message, string helpKeyword, string projectFile, bool succeeded) { }
+
+ public void LogExternalProjectStarted(string message, string helpKeyword, string projectFile, string targetNames) { }
+
+ public void LogMessage(Framework.MessageImportance importance, string message, params object[] messageArgs) { }
+
+ public void LogMessage(string message, params object[] messageArgs) { }
+
+ public void LogMessage(string subcategory, string code, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, Framework.MessageImportance importance, string message, params object[] messageArgs) { }
+
+ public void LogMessageFromResources(Framework.MessageImportance importance, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogMessageFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public bool LogMessageFromText(string lineOfText, Framework.MessageImportance messageImportance) { throw null; }
+
+ public bool LogMessagesFromFile(string fileName, Framework.MessageImportance messageImportance) { throw null; }
+
+ public bool LogMessagesFromFile(string fileName) { throw null; }
+
+ public bool LogMessagesFromStream(System.IO.TextReader stream, Framework.MessageImportance messageImportance) { throw null; }
+
+ public bool LogsMessagesOfImportance(Framework.MessageImportance importance) { throw null; }
+
+ public void LogTelemetry(string eventName, System.Collections.Generic.IDictionary properties) { }
+
+ public void LogWarning(string message, params object[] messageArgs) { }
+
+ public void LogWarning(string subcategory, string warningCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogWarning(string subcategory, string warningCode, string helpKeyword, string helpLink, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogWarningFromException(System.Exception exception, bool showStackTrace) { }
+
+ public void LogWarningFromException(System.Exception exception) { }
+
+ public void LogWarningFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogWarningFromResources(string subcategoryResourceName, string warningCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogWarningWithCodeFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogWarningWithCodeFromResources(string subcategoryResourceName, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+ }
+
+ public static partial class ToolLocationHelper
+ {
+ public static string CurrentToolsVersion { get { throw null; } }
+
+ public static string PathToSystem { get { throw null; } }
+
+ public static void ClearSDKStaticCache() { }
+
+ public static System.Collections.Generic.IDictionary FilterPlatformExtensionSDKs(System.Version targetPlatformVersion, System.Collections.Generic.IDictionary extensionSdks) { throw null; }
+
+ public static System.Collections.Generic.IList FilterTargetPlatformSdks(System.Collections.Generic.IList targetPlatformSdkList, System.Version osVersion, System.Version vsVersion) { throw null; }
+
+ public static string FindRootFolderWhereAllFilesExist(string possibleRoots, string relativeFilePaths) { throw null; }
+
+ [System.Runtime.Versioning.SupportedOSPlatform("windows")]
+ public static System.Collections.Generic.IList GetAssemblyFoldersExInfo(string registryRoot, string targetFrameworkVersion, string registryKeySuffix, string osVersion, string platform, System.Reflection.ProcessorArchitecture targetProcessorArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetAssemblyFoldersFromConfigInfo(string configFile, string targetFrameworkVersion, System.Reflection.ProcessorArchitecture targetProcessorArchitecture) { throw null; }
+
+ public static string GetDisplayNameForTargetFrameworkDirectory(string targetFrameworkDirectory, System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static string GetDotNetFrameworkRootRegistryKey(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetDotNetFrameworkSdkInstallKeyValue(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetDotNetFrameworkSdkInstallKeyValue(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetDotNetFrameworkSdkRootRegistryKey(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetDotNetFrameworkSdkRootRegistryKey(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetDotNetFrameworkVersionFolderPrefix(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static System.Collections.Generic.IEnumerable GetFoldersInVSInstalls(System.Version minVersion = null, System.Version maxVersion = null, string subFolder = null) { throw null; }
+
+ public static string GetFoldersInVSInstallsAsString(string minVersionString = null, string maxVersionString = null, string subFolder = null) { throw null; }
+
+ public static string GetLatestSDKTargetPlatformVersion(string sdkIdentifier, string sdkVersion, string[] sdkRoots) { throw null; }
+
+ public static string GetLatestSDKTargetPlatformVersion(string sdkIdentifier, string sdkVersion) { throw null; }
+
+ public static string GetPathToBuildTools(string toolsVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToBuildTools(string toolsVersion) { throw null; }
+
+ public static string GetPathToBuildToolsFile(string fileName, string toolsVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToBuildToolsFile(string fileName, string toolsVersion) { throw null; }
+
+ public static string GetPathToDotNetFramework(TargetDotNetFrameworkVersion version, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFramework(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkFile(string fileName, TargetDotNetFrameworkVersion version, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFrameworkFile(string fileName, TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkReferenceAssemblies(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdk() { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdk(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdk(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkRootPath, System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkRootPath, string targetFrameworkFallbackSearchPaths, System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string targetFrameworkRootPath, string targetFrameworkFallbackSearchPaths) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string targetFrameworkRootPath) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string platformTarget, string targetFrameworkRootPath, string targetFrameworkFallbackSearchPaths) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string platformTarget, string targetFrameworkRootPath) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string platformTarget) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile) { throw null; }
+
+ public static string GetPathToSystemFile(string fileName) { throw null; }
+
+ [System.Obsolete("Consider using GetPlatformSDKLocation instead")]
+ public static string GetPathToWindowsSdk(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ [System.Obsolete("Consider using GetPlatformSDKLocationFile instead")]
+ public static string GetPathToWindowsSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ [System.Obsolete("Consider using GetPlatformSDKLocationFile instead")]
+ public static string GetPathToWindowsSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string extensionDiskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, System.Version targetPlatformVersion, string[] diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, System.Version targetPlatformVersion, string[] diskRoots, string[] extensionDiskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary GetPlatformExtensionSDKLocations(string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary GetPlatformExtensionSDKLocations(string[] diskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary GetPlatformExtensionSDKLocations(string[] diskRoots, string[] extensionDiskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary> GetPlatformExtensionSDKLocationsAndVersions(string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary> GetPlatformExtensionSDKLocationsAndVersions(string[] diskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary> GetPlatformExtensionSDKLocationsAndVersions(string[] diskRoots, string[] multiPlatformDiskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static string[] GetPlatformOrFrameworkExtensionSdkReferences(string extensionSdkMoniker, string targetSdkIdentifier, string targetSdkVersion, string diskRoots, string extensionDiskRoots, string registryRoot, string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string[] GetPlatformOrFrameworkExtensionSdkReferences(string extensionSdkMoniker, string targetSdkIdentifier, string targetSdkVersion, string diskRoots, string extensionDiskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKDisplayName(string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKDisplayName(string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, System.Version targetPlatformVersion, string[] diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformSDKPropsFileLocation(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKPropsFileLocation(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IEnumerable GetPlatformsForSDK(string sdkIdentifier, System.Version sdkVersion, string[] diskRoots, string registryRoot) { throw null; }
+
+ public static System.Collections.Generic.IEnumerable GetPlatformsForSDK(string sdkIdentifier, System.Version sdkVersion) { throw null; }
+
+ public static string GetProgramFilesReferenceAssemblyRoot() { throw null; }
+
+ public static string GetSDKContentFolderPath(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion, string folderName, string diskRoot = null) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKDesignTimeFolders(string sdkRoot, string targetConfiguration, string targetArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKDesignTimeFolders(string sdkRoot) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKRedistFolders(string sdkRoot, string targetConfiguration, string targetArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKRedistFolders(string sdkRoot) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKReferenceFolders(string sdkRoot, string targetConfiguration, string targetArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKReferenceFolders(string sdkRoot) { throw null; }
+
+ public static System.Collections.Generic.IList GetSupportedTargetFrameworks() { throw null; }
+
+ public static string[] GetTargetPlatformReferences(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string[] GetTargetPlatformReferences(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IList GetTargetPlatformSdks() { throw null; }
+
+ public static System.Collections.Generic.IList GetTargetPlatformSdks(string[] diskRoots, string registryRoot) { throw null; }
+
+ public static System.Runtime.Versioning.FrameworkName HighestVersionOfTargetFrameworkIdentifier(string targetFrameworkRootDirectory, string frameworkIdentifier) { throw null; }
+ }
+
+ public abstract partial class ToolTask : Task, Framework.ICancelableTask, Framework.ITask
+ {
+ protected ToolTask() { }
+
+ protected ToolTask(System.Resources.ResourceManager taskResources, string helpKeywordPrefix) { }
+
+ protected ToolTask(System.Resources.ResourceManager taskResources) { }
+
+ public bool EchoOff { get { throw null; } set { } }
+
+ [System.Obsolete("Use EnvironmentVariables property")]
+ protected virtual System.Collections.Generic.Dictionary EnvironmentOverride { get { throw null; } }
+
+ public string[] EnvironmentVariables { get { throw null; } set { } }
+
+ [Framework.Output]
+ public int ExitCode { get { throw null; } }
+
+ protected virtual bool HasLoggedErrors { get { throw null; } }
+
+ public bool LogStandardErrorAsError { get { throw null; } set { } }
+
+ protected virtual System.Text.Encoding ResponseFileEncoding { get { throw null; } }
+
+ protected virtual System.Text.Encoding StandardErrorEncoding { get { throw null; } }
+
+ public string StandardErrorImportance { get { throw null; } set { } }
+
+ protected Framework.MessageImportance StandardErrorImportanceToUse { get { throw null; } }
+
+ protected virtual Framework.MessageImportance StandardErrorLoggingImportance { get { throw null; } }
+
+ protected virtual System.Text.Encoding StandardOutputEncoding { get { throw null; } }
+
+ public string StandardOutputImportance { get { throw null; } set { } }
+
+ protected Framework.MessageImportance StandardOutputImportanceToUse { get { throw null; } }
+
+ protected virtual Framework.MessageImportance StandardOutputLoggingImportance { get { throw null; } }
+
+ protected int TaskProcessTerminationTimeout { get { throw null; } set { } }
+
+ public virtual int Timeout { get { throw null; } set { } }
+
+ protected System.Threading.ManualResetEvent ToolCanceled { get { throw null; } }
+
+ public virtual string ToolExe { get { throw null; } set { } }
+
+ protected abstract string ToolName { get; }
+
+ public string ToolPath { get { throw null; } set { } }
+
+ public bool UseCommandProcessor { get { throw null; } set { } }
+
+ public string UseUtf8Encoding { get { throw null; } set { } }
+
+ public bool YieldDuringToolExecution { get { throw null; } set { } }
+
+ protected virtual string AdjustCommandsForOperatingSystem(string input) { throw null; }
+
+ protected virtual bool CallHostObjectToExecute() { throw null; }
+
+ public virtual void Cancel() { }
+
+ protected void DeleteTempFile(string fileName) { }
+
+ public override bool Execute() { throw null; }
+
+ protected virtual int ExecuteTool(string pathToTool, string responseFileCommands, string commandLineCommands) { throw null; }
+
+ protected virtual string GenerateCommandLineCommands() { throw null; }
+
+ protected abstract string GenerateFullPathToTool();
+ protected virtual string GenerateResponseFileCommands() { throw null; }
+
+ protected virtual System.Diagnostics.ProcessStartInfo GetProcessStartInfo(string pathToTool, string commandLineCommands, string responseFileSwitch) { throw null; }
+
+ protected virtual string GetResponseFileSwitch(string responseFilePath) { throw null; }
+
+ protected virtual string GetWorkingDirectory() { throw null; }
+
+ protected virtual bool HandleTaskExecutionErrors() { throw null; }
+
+ protected virtual HostObjectInitializationStatus InitializeHostObject() { throw null; }
+
+ protected virtual void LogEventsFromTextOutput(string singleLine, Framework.MessageImportance messageImportance) { }
+
+ protected virtual void LogPathToTool(string toolName, string pathToTool) { }
+
+ protected virtual void LogToolCommand(string message) { }
+
+ protected virtual void ProcessStarted() { }
+
+ protected virtual string ResponseFileEscape(string responseString) { throw null; }
+
+ protected virtual bool SkipTaskExecution() { throw null; }
+
+ protected internal virtual bool ValidateParameters() { throw null; }
+ }
+
+ public static partial class TrackedDependencies
+ {
+ public static Framework.ITaskItem[] ExpandWildcards(Framework.ITaskItem[] expand) { throw null; }
+ }
+
+ public enum VisualStudioVersion
+ {
+ Version100 = 0,
+ Version110 = 1,
+ Version120 = 2,
+ Version140 = 3,
+ Version150 = 4,
+ Version160 = 5,
+ Version170 = 6,
+ VersionLatest = 6
+ }
+}
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/ref/netstandard2.0/Microsoft.Build.Utilities.Core.cs b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/ref/netstandard2.0/Microsoft.Build.Utilities.Core.cs
new file mode 100644
index 0000000000..b16326df24
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build.utilities.core/17.3.4/ref/netstandard2.0/Microsoft.Build.Utilities.Core.cs
@@ -0,0 +1,810 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Utilities.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
+[assembly: System.Resources.NeutralResourcesLanguage("en")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("Release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Microsoft.Build.Utilities.Core.dll")]
+[assembly: System.Reflection.AssemblyFileVersion("17.3.4.17815")]
+[assembly: System.Reflection.AssemblyInformationalVersion("17.3.4+a400405ba8c43976eda92a70d4adf72f9d292a22")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® Build Tools®")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Build.Utilities.Core.dll")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/msbuild")]
+[assembly: System.Reflection.AssemblyVersionAttribute("15.1.0.0")]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.Build.Utilities
+{
+ [Framework.LoadInSeparateAppDomain]
+ [System.Obsolete("AppDomains are no longer supported in .NET Core or .NET 5.0 or higher.")]
+ public abstract partial class AppDomainIsolatedTask : System.MarshalByRefObject, Framework.ITask
+ {
+ protected AppDomainIsolatedTask() { }
+
+ protected AppDomainIsolatedTask(System.Resources.ResourceManager taskResources, string helpKeywordPrefix) { }
+
+ protected AppDomainIsolatedTask(System.Resources.ResourceManager taskResources) { }
+
+ public Framework.IBuildEngine BuildEngine { get { throw null; } set { } }
+
+ protected string HelpKeywordPrefix { get { throw null; } set { } }
+
+ public Framework.ITaskHost HostObject { get { throw null; } set { } }
+
+ public TaskLoggingHelper Log { get { throw null; } }
+
+ protected System.Resources.ResourceManager TaskResources { get { throw null; } set { } }
+
+ public abstract bool Execute();
+ [System.Obsolete("AppDomains are no longer supported in .NET Core or .NET 5.0 or higher.")]
+ public override object InitializeLifetimeService() { throw null; }
+ }
+
+ public partial class AssemblyFoldersExInfo
+ {
+ public AssemblyFoldersExInfo(Win32.RegistryHive hive, Win32.RegistryView view, string registryKey, string directoryPath, System.Version targetFrameworkVersion) { }
+
+ public string DirectoryPath { get { throw null; } }
+
+ public Win32.RegistryHive Hive { get { throw null; } }
+
+ public string Key { get { throw null; } }
+
+ public System.Version TargetFrameworkVersion { get { throw null; } }
+
+ public Win32.RegistryView View { get { throw null; } }
+ }
+
+ public partial class AssemblyFoldersFromConfigInfo
+ {
+ public AssemblyFoldersFromConfigInfo(string directoryPath, System.Version targetFrameworkVersion) { }
+
+ public string DirectoryPath { get { throw null; } }
+
+ public System.Version TargetFrameworkVersion { get { throw null; } }
+ }
+
+ public partial class CommandLineBuilder
+ {
+ public CommandLineBuilder() { }
+
+ public CommandLineBuilder(bool quoteHyphensOnCommandLine, bool useNewLineSeparator) { }
+
+ public CommandLineBuilder(bool quoteHyphensOnCommandLine) { }
+
+ protected System.Text.StringBuilder CommandLine { get { throw null; } }
+
+ public int Length { get { throw null; } }
+
+ public void AppendFileNameIfNotNull(Framework.ITaskItem fileItem) { }
+
+ public void AppendFileNameIfNotNull(string fileName) { }
+
+ public void AppendFileNamesIfNotNull(Framework.ITaskItem[] fileItems, string delimiter) { }
+
+ public void AppendFileNamesIfNotNull(string[] fileNames, string delimiter) { }
+
+ protected void AppendFileNameWithQuoting(string fileName) { }
+
+ protected void AppendQuotedTextToBuffer(System.Text.StringBuilder buffer, string unquotedTextToAppend) { }
+
+ protected void AppendSpaceIfNotEmpty() { }
+
+ public void AppendSwitch(string switchName) { }
+
+ public void AppendSwitchIfNotNull(string switchName, Framework.ITaskItem parameter) { }
+
+ public void AppendSwitchIfNotNull(string switchName, Framework.ITaskItem[] parameters, string delimiter) { }
+
+ public void AppendSwitchIfNotNull(string switchName, string parameter) { }
+
+ public void AppendSwitchIfNotNull(string switchName, string[] parameters, string delimiter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, Framework.ITaskItem parameter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, Framework.ITaskItem[] parameters, string delimiter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, string parameter) { }
+
+ public void AppendSwitchUnquotedIfNotNull(string switchName, string[] parameters, string delimiter) { }
+
+ public void AppendTextUnquoted(string textToAppend) { }
+
+ protected void AppendTextWithQuoting(string textToAppend) { }
+
+ protected virtual bool IsQuotingRequired(string parameter) { throw null; }
+
+ public override string ToString() { throw null; }
+
+ protected virtual void VerifyThrowNoEmbeddedDoubleQuotes(string switchName, string parameter) { }
+ }
+
+ public enum DotNetFrameworkArchitecture
+ {
+ Current = 0,
+ Bitness32 = 1,
+ Bitness64 = 2
+ }
+
+ public enum HostObjectInitializationStatus
+ {
+ UseHostObjectToExecute = 0,
+ UseAlternateToolToExecute = 1,
+ NoActionReturnSuccess = 2,
+ NoActionReturnFailure = 3
+ }
+
+ public abstract partial class Logger : Framework.ILogger
+ {
+ public virtual string Parameters { get { throw null; } set { } }
+
+ public virtual Framework.LoggerVerbosity Verbosity { get { throw null; } set { } }
+
+ public virtual string FormatErrorEvent(Framework.BuildErrorEventArgs args) { throw null; }
+
+ public virtual string FormatWarningEvent(Framework.BuildWarningEventArgs args) { throw null; }
+
+ public abstract void Initialize(Framework.IEventSource eventSource);
+ public bool IsVerbosityAtLeast(Framework.LoggerVerbosity checkVerbosity) { throw null; }
+
+ public virtual void Shutdown() { }
+ }
+
+ public enum MultipleVersionSupport
+ {
+ Allow = 0,
+ Warning = 1,
+ Error = 2
+ }
+
+ public partial class MuxLogger : Framework.INodeLogger, Framework.ILogger
+ {
+ public bool IncludeEvaluationMetaprojects { get { throw null; } set { } }
+
+ public bool IncludeEvaluationProfiles { get { throw null; } set { } }
+
+ public bool IncludeEvaluationPropertiesAndItems { get { throw null; } set { } }
+
+ public bool IncludeTaskInputs { get { throw null; } set { } }
+
+ public string Parameters { get { throw null; } set { } }
+
+ public Framework.LoggerVerbosity Verbosity { get { throw null; } set { } }
+
+ public void Initialize(Framework.IEventSource eventSource, int maxNodeCount) { }
+
+ public void Initialize(Framework.IEventSource eventSource) { }
+
+ public void RegisterLogger(int submissionId, Framework.ILogger logger) { }
+
+ public void Shutdown() { }
+
+ public bool UnregisterLoggers(int submissionId) { throw null; }
+ }
+
+ public static partial class ProcessorArchitecture
+ {
+ public const string AMD64 = "AMD64";
+ public const string ARM = "ARM";
+ public const string ARM64 = "ARM64";
+ public const string IA64 = "IA64";
+ public const string MSIL = "MSIL";
+ public const string X86 = "x86";
+ public static string CurrentProcessArchitecture { get { throw null; } }
+ }
+
+ public partial class SDKManifest
+ {
+ public SDKManifest(string pathToSdk) { }
+
+ public System.Collections.Generic.IDictionary AppxLocations { get { throw null; } }
+
+ public string CopyRedistToSubDirectory { get { throw null; } }
+
+ public string DependsOnSDK { get { throw null; } }
+
+ public string DisplayName { get { throw null; } }
+
+ public System.Collections.Generic.IDictionary FrameworkIdentities { get { throw null; } }
+
+ public string FrameworkIdentity { get { throw null; } }
+
+ public string MaxOSVersionTested { get { throw null; } }
+
+ public string MaxPlatformVersion { get { throw null; } }
+
+ public string MinOSVersion { get { throw null; } }
+
+ public string MinVSVersion { get { throw null; } }
+
+ public string MoreInfo { get { throw null; } }
+
+ public string PlatformIdentity { get { throw null; } }
+
+ public string ProductFamilyName { get { throw null; } }
+
+ public bool ReadError { get { throw null; } }
+
+ public string ReadErrorMessage { get { throw null; } }
+
+ public SDKType SDKType { get { throw null; } }
+
+ public string SupportedArchitectures { get { throw null; } }
+
+ public string SupportPrefer32Bit { get { throw null; } }
+
+ public MultipleVersionSupport SupportsMultipleVersions { get { throw null; } }
+
+ public string TargetPlatform { get { throw null; } }
+
+ public string TargetPlatformMinVersion { get { throw null; } }
+
+ public string TargetPlatformVersion { get { throw null; } }
+
+ public static partial class Attributes
+ {
+ public const string APPX = "APPX";
+ public const string AppxLocation = "AppxLocation";
+ public const string CopyLocalExpandedReferenceAssemblies = "CopyLocalExpandedReferenceAssemblies";
+ public const string CopyRedist = "CopyRedist";
+ public const string CopyRedistToSubDirectory = "CopyRedistToSubDirectory";
+ public const string DependsOnSDK = "DependsOn";
+ public const string DisplayName = "DisplayName";
+ public const string ExpandReferenceAssemblies = "ExpandReferenceAssemblies";
+ public const string FrameworkIdentity = "FrameworkIdentity";
+ public const string MaxOSVersionTested = "MaxOSVersionTested";
+ public const string MaxPlatformVersion = "MaxPlatformVersion";
+ public const string MinOSVersion = "MinOSVersion";
+ public const string MinVSVersion = "MinVSVersion";
+ public const string MoreInfo = "MoreInfo";
+ public const string PlatformIdentity = "PlatformIdentity";
+ public const string ProductFamilyName = "ProductFamilyName";
+ public const string SDKType = "SDKType";
+ public const string SupportedArchitectures = "SupportedArchitectures";
+ public const string SupportPrefer32Bit = "SupportPrefer32Bit";
+ public const string SupportsMultipleVersions = "SupportsMultipleVersions";
+ public const string TargetedSDK = "TargetedSDKArchitecture";
+ public const string TargetedSDKConfiguration = "TargetedSDKConfiguration";
+ public const string TargetPlatform = "TargetPlatform";
+ public const string TargetPlatformMinVersion = "TargetPlatformMinVersion";
+ public const string TargetPlatformVersion = "TargetPlatformVersion";
+ }
+ }
+
+ public enum SDKType
+ {
+ Unspecified = 0,
+ External = 1,
+ Platform = 2,
+ Framework = 3
+ }
+
+ public enum TargetDotNetFrameworkVersion
+ {
+ Version11 = 0,
+ Version20 = 1,
+ Version30 = 2,
+ Version35 = 3,
+ Version40 = 4,
+ Version45 = 5,
+ Version451 = 6,
+ Version46 = 7,
+ Version461 = 8,
+ Version452 = 9,
+ Version462 = 10,
+ Version47 = 11,
+ Version471 = 12,
+ Version472 = 13,
+ Version48 = 14,
+ VersionLatest = 14,
+ Latest = 9999
+ }
+
+ public partial class TargetPlatformSDK : System.IEquatable
+ {
+ public TargetPlatformSDK(string targetPlatformIdentifier, System.Version targetPlatformVersion, string path) { }
+
+ public string DisplayName { get { throw null; } }
+
+ public System.Version MinOSVersion { get { throw null; } }
+
+ public System.Version MinVSVersion { get { throw null; } }
+
+ public string Path { get { throw null; } set { } }
+
+ public string TargetPlatformIdentifier { get { throw null; } }
+
+ public System.Version TargetPlatformVersion { get { throw null; } }
+
+ public bool ContainsPlatform(string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public bool Equals(TargetPlatformSDK other) { throw null; }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+ }
+
+ public abstract partial class Task : Framework.ITask
+ {
+ protected Task() { }
+
+ protected Task(System.Resources.ResourceManager taskResources, string helpKeywordPrefix) { }
+
+ protected Task(System.Resources.ResourceManager taskResources) { }
+
+ public Framework.IBuildEngine BuildEngine { get { throw null; } set { } }
+
+ public Framework.IBuildEngine2 BuildEngine2 { get { throw null; } }
+
+ public Framework.IBuildEngine3 BuildEngine3 { get { throw null; } }
+
+ public Framework.IBuildEngine4 BuildEngine4 { get { throw null; } }
+
+ public Framework.IBuildEngine5 BuildEngine5 { get { throw null; } }
+
+ public Framework.IBuildEngine6 BuildEngine6 { get { throw null; } }
+
+ public Framework.IBuildEngine7 BuildEngine7 { get { throw null; } }
+
+ public Framework.IBuildEngine8 BuildEngine8 { get { throw null; } }
+
+ public Framework.IBuildEngine9 BuildEngine9 { get { throw null; } }
+
+ protected string HelpKeywordPrefix { get { throw null; } set { } }
+
+ public Framework.ITaskHost HostObject { get { throw null; } set { } }
+
+ public TaskLoggingHelper Log { get { throw null; } }
+
+ protected System.Resources.ResourceManager TaskResources { get { throw null; } set { } }
+
+ public abstract bool Execute();
+ }
+
+ public sealed partial class TaskItem : Framework.ITaskItem2, Framework.ITaskItem
+ {
+ public TaskItem() { }
+
+ public TaskItem(Framework.ITaskItem sourceItem) { }
+
+ public TaskItem(string itemSpec, System.Collections.IDictionary itemMetadata) { }
+
+ public TaskItem(string itemSpec) { }
+
+ public string ItemSpec { get { throw null; } set { } }
+
+ public int MetadataCount { get { throw null; } }
+
+ public System.Collections.ICollection MetadataNames { get { throw null; } }
+
+ string Framework.ITaskItem2.EvaluatedIncludeEscaped { get { throw null; } set { } }
+
+ public System.Collections.IDictionary CloneCustomMetadata() { throw null; }
+
+ public void CopyMetadataTo(Framework.ITaskItem destinationItem) { }
+
+ public string GetMetadata(string metadataName) { throw null; }
+
+ System.Collections.IDictionary Framework.ITaskItem2.CloneCustomMetadataEscaped() { throw null; }
+
+ string Framework.ITaskItem2.GetMetadataValueEscaped(string metadataName) { throw null; }
+
+ void Framework.ITaskItem2.SetMetadataValueLiteral(string metadataName, string metadataValue) { }
+
+ public static explicit operator string(TaskItem taskItemToCast) { throw null; }
+
+ public void RemoveMetadata(string metadataName) { }
+
+ public void SetMetadata(string metadataName, string metadataValue) { }
+
+ public override string ToString() { throw null; }
+ }
+
+ public partial class TaskLoggingHelper
+ {
+ public TaskLoggingHelper(Framework.IBuildEngine buildEngine, string taskName) { }
+
+ public TaskLoggingHelper(Framework.ITask taskInstance) { }
+
+ protected Framework.IBuildEngine BuildEngine { get { throw null; } }
+
+ public bool HasLoggedErrors { get { throw null; } }
+
+ public string HelpKeywordPrefix { get { throw null; } set { } }
+
+ public bool IsTaskInputLoggingEnabled { get { throw null; } }
+
+ protected string TaskName { get { throw null; } }
+
+ public System.Resources.ResourceManager TaskResources { get { throw null; } set { } }
+
+ public string ExtractMessageCode(string message, out string messageWithoutCodePrefix) { throw null; }
+
+ public virtual string FormatResourceString(string resourceName, params object[] args) { throw null; }
+
+ public virtual string FormatString(string unformatted, params object[] args) { throw null; }
+
+ public virtual string GetResourceMessage(string resourceName) { throw null; }
+
+ public void LogCommandLine(Framework.MessageImportance importance, string commandLine) { }
+
+ public void LogCommandLine(string commandLine) { }
+
+ public void LogCriticalMessage(string subcategory, string code, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogError(string message, params object[] messageArgs) { }
+
+ public void LogError(string subcategory, string errorCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogError(string subcategory, string errorCode, string helpKeyword, string helpLink, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogErrorFromException(System.Exception exception, bool showStackTrace, bool showDetail, string file) { }
+
+ public void LogErrorFromException(System.Exception exception, bool showStackTrace) { }
+
+ public void LogErrorFromException(System.Exception exception) { }
+
+ public void LogErrorFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogErrorFromResources(string subcategoryResourceName, string errorCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogErrorWithCodeFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogErrorWithCodeFromResources(string subcategoryResourceName, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogExternalProjectFinished(string message, string helpKeyword, string projectFile, bool succeeded) { }
+
+ public void LogExternalProjectStarted(string message, string helpKeyword, string projectFile, string targetNames) { }
+
+ public void LogMessage(Framework.MessageImportance importance, string message, params object[] messageArgs) { }
+
+ public void LogMessage(string message, params object[] messageArgs) { }
+
+ public void LogMessage(string subcategory, string code, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, Framework.MessageImportance importance, string message, params object[] messageArgs) { }
+
+ public void LogMessageFromResources(Framework.MessageImportance importance, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogMessageFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public bool LogMessageFromText(string lineOfText, Framework.MessageImportance messageImportance) { throw null; }
+
+ public bool LogMessagesFromFile(string fileName, Framework.MessageImportance messageImportance) { throw null; }
+
+ public bool LogMessagesFromFile(string fileName) { throw null; }
+
+ public bool LogMessagesFromStream(System.IO.TextReader stream, Framework.MessageImportance messageImportance) { throw null; }
+
+ public bool LogsMessagesOfImportance(Framework.MessageImportance importance) { throw null; }
+
+ public void LogTelemetry(string eventName, System.Collections.Generic.IDictionary properties) { }
+
+ public void LogWarning(string message, params object[] messageArgs) { }
+
+ public void LogWarning(string subcategory, string warningCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogWarning(string subcategory, string warningCode, string helpKeyword, string helpLink, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string message, params object[] messageArgs) { }
+
+ public void LogWarningFromException(System.Exception exception, bool showStackTrace) { }
+
+ public void LogWarningFromException(System.Exception exception) { }
+
+ public void LogWarningFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogWarningFromResources(string subcategoryResourceName, string warningCode, string helpKeyword, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+
+ public void LogWarningWithCodeFromResources(string messageResourceName, params object[] messageArgs) { }
+
+ public void LogWarningWithCodeFromResources(string subcategoryResourceName, string file, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, string messageResourceName, params object[] messageArgs) { }
+ }
+
+ public static partial class ToolLocationHelper
+ {
+ public static string CurrentToolsVersion { get { throw null; } }
+
+ public static string PathToSystem { get { throw null; } }
+
+ public static void ClearSDKStaticCache() { }
+
+ public static System.Collections.Generic.IDictionary FilterPlatformExtensionSDKs(System.Version targetPlatformVersion, System.Collections.Generic.IDictionary extensionSdks) { throw null; }
+
+ public static System.Collections.Generic.IList FilterTargetPlatformSdks(System.Collections.Generic.IList targetPlatformSdkList, System.Version osVersion, System.Version vsVersion) { throw null; }
+
+ public static string FindRootFolderWhereAllFilesExist(string possibleRoots, string relativeFilePaths) { throw null; }
+
+ public static System.Collections.Generic.IList GetAssemblyFoldersExInfo(string registryRoot, string targetFrameworkVersion, string registryKeySuffix, string osVersion, string platform, System.Reflection.ProcessorArchitecture targetProcessorArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetAssemblyFoldersFromConfigInfo(string configFile, string targetFrameworkVersion, System.Reflection.ProcessorArchitecture targetProcessorArchitecture) { throw null; }
+
+ public static string GetDisplayNameForTargetFrameworkDirectory(string targetFrameworkDirectory, System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static string GetDotNetFrameworkRootRegistryKey(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetDotNetFrameworkSdkInstallKeyValue(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetDotNetFrameworkSdkInstallKeyValue(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetDotNetFrameworkSdkRootRegistryKey(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetDotNetFrameworkSdkRootRegistryKey(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetDotNetFrameworkVersionFolderPrefix(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static System.Collections.Generic.IEnumerable GetFoldersInVSInstalls(System.Version minVersion = null, System.Version maxVersion = null, string subFolder = null) { throw null; }
+
+ public static string GetFoldersInVSInstallsAsString(string minVersionString = null, string maxVersionString = null, string subFolder = null) { throw null; }
+
+ public static string GetLatestSDKTargetPlatformVersion(string sdkIdentifier, string sdkVersion, string[] sdkRoots) { throw null; }
+
+ public static string GetLatestSDKTargetPlatformVersion(string sdkIdentifier, string sdkVersion) { throw null; }
+
+ public static string GetPathToBuildTools(string toolsVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToBuildTools(string toolsVersion) { throw null; }
+
+ public static string GetPathToBuildToolsFile(string fileName, string toolsVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToBuildToolsFile(string fileName, string toolsVersion) { throw null; }
+
+ public static string GetPathToDotNetFramework(TargetDotNetFrameworkVersion version, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFramework(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkFile(string fileName, TargetDotNetFrameworkVersion version, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFrameworkFile(string fileName, TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkReferenceAssemblies(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdk() { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdk(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdk(TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName, TargetDotNetFrameworkVersion version) { throw null; }
+
+ public static string GetPathToDotNetFrameworkSdkFile(string fileName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkRootPath, System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkRootPath, string targetFrameworkFallbackSearchPaths, System.Runtime.Versioning.FrameworkName frameworkName) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string targetFrameworkRootPath, string targetFrameworkFallbackSearchPaths) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string targetFrameworkRootPath) { throw null; }
+
+ public static System.Collections.Generic.IList GetPathToReferenceAssemblies(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string platformTarget, string targetFrameworkRootPath, string targetFrameworkFallbackSearchPaths) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string platformTarget, string targetFrameworkRootPath) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile, string platformTarget) { throw null; }
+
+ public static string GetPathToStandardLibraries(string targetFrameworkIdentifier, string targetFrameworkVersion, string targetFrameworkProfile) { throw null; }
+
+ public static string GetPathToSystemFile(string fileName) { throw null; }
+
+ [System.Obsolete("Consider using GetPlatformSDKLocation instead")]
+ public static string GetPathToWindowsSdk(TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ [System.Obsolete("Consider using GetPlatformSDKLocationFile instead")]
+ public static string GetPathToWindowsSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion, DotNetFrameworkArchitecture architecture) { throw null; }
+
+ [System.Obsolete("Consider using GetPlatformSDKLocationFile instead")]
+ public static string GetPathToWindowsSdkFile(string fileName, TargetDotNetFrameworkVersion version, VisualStudioVersion visualStudioVersion) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string extensionDiskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, System.Version targetPlatformVersion, string[] diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, System.Version targetPlatformVersion, string[] diskRoots, string[] extensionDiskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformExtensionSDKLocation(string sdkMoniker, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary GetPlatformExtensionSDKLocations(string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary GetPlatformExtensionSDKLocations(string[] diskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary GetPlatformExtensionSDKLocations(string[] diskRoots, string[] extensionDiskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary> GetPlatformExtensionSDKLocationsAndVersions(string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary> GetPlatformExtensionSDKLocationsAndVersions(string[] diskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IDictionary> GetPlatformExtensionSDKLocationsAndVersions(string[] diskRoots, string[] multiPlatformDiskRoots, string registryRoot, string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static string[] GetPlatformOrFrameworkExtensionSdkReferences(string extensionSdkMoniker, string targetSdkIdentifier, string targetSdkVersion, string diskRoots, string extensionDiskRoots, string registryRoot, string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string[] GetPlatformOrFrameworkExtensionSdkReferences(string extensionSdkMoniker, string targetSdkIdentifier, string targetSdkVersion, string diskRoots, string extensionDiskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKDisplayName(string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKDisplayName(string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, string targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, System.Version targetPlatformVersion, string[] diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKLocation(string targetPlatformIdentifier, System.Version targetPlatformVersion) { throw null; }
+
+ public static string GetPlatformSDKPropsFileLocation(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string GetPlatformSDKPropsFileLocation(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IEnumerable GetPlatformsForSDK(string sdkIdentifier, System.Version sdkVersion, string[] diskRoots, string registryRoot) { throw null; }
+
+ public static System.Collections.Generic.IEnumerable GetPlatformsForSDK(string sdkIdentifier, System.Version sdkVersion) { throw null; }
+
+ public static string GetProgramFilesReferenceAssemblyRoot() { throw null; }
+
+ public static string GetSDKContentFolderPath(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion, string folderName, string diskRoot = null) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKDesignTimeFolders(string sdkRoot, string targetConfiguration, string targetArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKDesignTimeFolders(string sdkRoot) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKRedistFolders(string sdkRoot, string targetConfiguration, string targetArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKRedistFolders(string sdkRoot) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKReferenceFolders(string sdkRoot, string targetConfiguration, string targetArchitecture) { throw null; }
+
+ public static System.Collections.Generic.IList GetSDKReferenceFolders(string sdkRoot) { throw null; }
+
+ public static System.Collections.Generic.IList GetSupportedTargetFrameworks() { throw null; }
+
+ public static string[] GetTargetPlatformReferences(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion, string diskRoots, string registryRoot) { throw null; }
+
+ public static string[] GetTargetPlatformReferences(string sdkIdentifier, string sdkVersion, string targetPlatformIdentifier, string targetPlatformMinVersion, string targetPlatformVersion) { throw null; }
+
+ public static System.Collections.Generic.IList GetTargetPlatformSdks() { throw null; }
+
+ public static System.Collections.Generic.IList GetTargetPlatformSdks(string[] diskRoots, string registryRoot) { throw null; }
+
+ public static System.Runtime.Versioning.FrameworkName HighestVersionOfTargetFrameworkIdentifier(string targetFrameworkRootDirectory, string frameworkIdentifier) { throw null; }
+ }
+
+ public abstract partial class ToolTask : Task, Framework.ICancelableTask, Framework.ITask
+ {
+ protected ToolTask() { }
+
+ protected ToolTask(System.Resources.ResourceManager taskResources, string helpKeywordPrefix) { }
+
+ protected ToolTask(System.Resources.ResourceManager taskResources) { }
+
+ public bool EchoOff { get { throw null; } set { } }
+
+ [System.Obsolete("Use EnvironmentVariables property")]
+ protected virtual System.Collections.Generic.Dictionary EnvironmentOverride { get { throw null; } }
+
+ public string[] EnvironmentVariables { get { throw null; } set { } }
+
+ [Framework.Output]
+ public int ExitCode { get { throw null; } }
+
+ protected virtual bool HasLoggedErrors { get { throw null; } }
+
+ public bool LogStandardErrorAsError { get { throw null; } set { } }
+
+ protected virtual System.Text.Encoding ResponseFileEncoding { get { throw null; } }
+
+ protected virtual System.Text.Encoding StandardErrorEncoding { get { throw null; } }
+
+ public string StandardErrorImportance { get { throw null; } set { } }
+
+ protected Framework.MessageImportance StandardErrorImportanceToUse { get { throw null; } }
+
+ protected virtual Framework.MessageImportance StandardErrorLoggingImportance { get { throw null; } }
+
+ protected virtual System.Text.Encoding StandardOutputEncoding { get { throw null; } }
+
+ public string StandardOutputImportance { get { throw null; } set { } }
+
+ protected Framework.MessageImportance StandardOutputImportanceToUse { get { throw null; } }
+
+ protected virtual Framework.MessageImportance StandardOutputLoggingImportance { get { throw null; } }
+
+ protected int TaskProcessTerminationTimeout { get { throw null; } set { } }
+
+ public virtual int Timeout { get { throw null; } set { } }
+
+ protected System.Threading.ManualResetEvent ToolCanceled { get { throw null; } }
+
+ public virtual string ToolExe { get { throw null; } set { } }
+
+ protected abstract string ToolName { get; }
+
+ public string ToolPath { get { throw null; } set { } }
+
+ public bool UseCommandProcessor { get { throw null; } set { } }
+
+ public string UseUtf8Encoding { get { throw null; } set { } }
+
+ public bool YieldDuringToolExecution { get { throw null; } set { } }
+
+ protected virtual string AdjustCommandsForOperatingSystem(string input) { throw null; }
+
+ protected virtual bool CallHostObjectToExecute() { throw null; }
+
+ public virtual void Cancel() { }
+
+ protected void DeleteTempFile(string fileName) { }
+
+ public override bool Execute() { throw null; }
+
+ protected virtual int ExecuteTool(string pathToTool, string responseFileCommands, string commandLineCommands) { throw null; }
+
+ protected virtual string GenerateCommandLineCommands() { throw null; }
+
+ protected abstract string GenerateFullPathToTool();
+ protected virtual string GenerateResponseFileCommands() { throw null; }
+
+ protected virtual System.Diagnostics.ProcessStartInfo GetProcessStartInfo(string pathToTool, string commandLineCommands, string responseFileSwitch) { throw null; }
+
+ protected virtual string GetResponseFileSwitch(string responseFilePath) { throw null; }
+
+ protected virtual string GetWorkingDirectory() { throw null; }
+
+ protected virtual bool HandleTaskExecutionErrors() { throw null; }
+
+ protected virtual HostObjectInitializationStatus InitializeHostObject() { throw null; }
+
+ protected virtual void LogEventsFromTextOutput(string singleLine, Framework.MessageImportance messageImportance) { }
+
+ protected virtual void LogPathToTool(string toolName, string pathToTool) { }
+
+ protected virtual void LogToolCommand(string message) { }
+
+ protected virtual void ProcessStarted() { }
+
+ protected virtual string ResponseFileEscape(string responseString) { throw null; }
+
+ protected virtual bool SkipTaskExecution() { throw null; }
+
+ protected internal virtual bool ValidateParameters() { throw null; }
+ }
+
+ public static partial class TrackedDependencies
+ {
+ public static Framework.ITaskItem[] ExpandWildcards(Framework.ITaskItem[] expand) { throw null; }
+ }
+
+ public enum VisualStudioVersion
+ {
+ Version100 = 0,
+ Version110 = 1,
+ Version120 = 2,
+ Version140 = 3,
+ Version150 = 4,
+ Version160 = 5,
+ Version170 = 6,
+ VersionLatest = 6
+ }
+}
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build/17.3.4/Microsoft.Build.17.3.4.csproj b/src/referencePackages/src/microsoft.build/17.3.4/Microsoft.Build.17.3.4.csproj
new file mode 100644
index 0000000000..dfff20afc2
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build/17.3.4/Microsoft.Build.17.3.4.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net6.0
+ Microsoft.Build
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/referencePackages/src/microsoft.build/17.3.4/microsoft.build.nuspec b/src/referencePackages/src/microsoft.build/17.3.4/microsoft.build.nuspec
new file mode 100644
index 0000000000..93d1084fe2
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build/17.3.4/microsoft.build.nuspec
@@ -0,0 +1,32 @@
+
+
+
+ Microsoft.Build
+ 17.3.4
+ Microsoft
+ true
+ MIT
+ https://licenses.nuget.org/MIT
+ http://go.microsoft.com/fwlink/?LinkId=624683
+ https://go.microsoft.com/fwlink/?linkid=825694
+ This package contains the Microsoft.Build assembly which is used to create, edit, and evaluate MSBuild projects.
+ © Microsoft Corporation. All rights reserved.
+ MSBuild
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/referencePackages/src/microsoft.build/17.3.4/ref/net6.0/Microsoft.Build.cs b/src/referencePackages/src/microsoft.build/17.3.4/ref/net6.0/Microsoft.Build.cs
new file mode 100644
index 0000000000..885e02fbc7
--- /dev/null
+++ b/src/referencePackages/src/microsoft.build/17.3.4/ref/net6.0/Microsoft.Build.cs
@@ -0,0 +1,3490 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+// ------------------------------------------------------------------------------
+// Changes to this file must follow the http://aka.ms/api-review process.
+// ------------------------------------------------------------------------------
+[assembly: System.Runtime.CompilerServices.CompilationRelaxations(8)]
+[assembly: System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows = true)]
+[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
+[assembly: System.Runtime.CompilerServices.ReferenceAssembly]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Framework.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Engine.UnitTests, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Conversion.Core, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Conversion.Unittest, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Microsoft.Build.Tasks.Cop, PublicKey=002400000480000094000000060200000024000052534131000400000100010015c01ae1f50e8cc09ba9eac9147cf8fd9fce2cfe9f8dce4f7301c4132ca9fb50ce8cbf1df4dc18dd4d210e4345c744ecb3365ed327efdbc52603faa5e21daa11234c8c4a73e51f03bf192544581ebe107adee3a34928e39d04e524a9ce729d5090bfd7dad9d10c722c0def9ccc08ff0a03790e48bcd1f9b6c476063e1966a1c4")]
+[assembly: System.Runtime.InteropServices.DefaultDllImportSearchPaths(System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
+[assembly: System.Resources.NeutralResourcesLanguage("en")]
+[assembly: System.CLSCompliant(true)]
+[assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]
+[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]
+[assembly: System.Reflection.AssemblyConfiguration("Release")]
+[assembly: System.Reflection.AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
+[assembly: System.Reflection.AssemblyDescription("Microsoft.Build.dll")]
+[assembly: System.Reflection.AssemblyFileVersion("17.3.4.17815")]
+[assembly: System.Reflection.AssemblyInformationalVersion("17.3.4+a400405ba8c43976eda92a70d4adf72f9d292a22")]
+[assembly: System.Reflection.AssemblyProduct("Microsoft® Build Tools®")]
+[assembly: System.Reflection.AssemblyTitle("Microsoft.Build.dll")]
+[assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/dotnet/msbuild")]
+[assembly: System.Reflection.AssemblyVersionAttribute("15.1.0.0")]
+[assembly: System.Reflection.AssemblyFlagsAttribute((System.Reflection.AssemblyNameFlags)0x70)]
+namespace Microsoft.Build.BackEnd.SdkResolution
+{
+ public partial class SdkResolverException : System.Exception
+ {
+ public SdkResolverException(string resourceName, Framework.SdkResolver resolver, Framework.SdkReference sdk, System.Exception innerException, params string[] args) { }
+
+ public Framework.SdkResolver Resolver { get { throw null; } }
+
+ public Framework.SdkReference Sdk { get { throw null; } }
+ }
+}
+
+namespace Microsoft.Build.Construction
+{
+ public abstract partial class ElementLocation
+ {
+ public abstract int Column { get; }
+ public abstract string File { get; }
+ public abstract int Line { get; }
+
+ public string LocationString { get { throw null; } }
+
+ public override bool Equals(object obj) { throw null; }
+
+ public override int GetHashCode() { throw null; }
+
+ public override string ToString() { throw null; }
+ }
+
+ public enum ImplicitImportLocation
+ {
+ None = 0,
+ Top = 1,
+ Bottom = 2
+ }
+
+ public partial class ProjectChooseElement : ProjectElementContainer
+ {
+ internal ProjectChooseElement() { }
+
+ public override string Condition { get { throw null; } set { } }
+
+ public override ElementLocation ConditionLocation { get { throw null; } }
+
+ public ProjectOtherwiseElement OtherwiseElement { get { throw null; } }
+
+ public System.Collections.Generic.ICollection WhenElements { get { throw null; } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public sealed partial class ProjectConfigurationInSolution
+ {
+ internal ProjectConfigurationInSolution() { }
+
+ public string ConfigurationName { get { throw null; } }
+
+ public string FullName { get { throw null; } }
+
+ public bool IncludeInBuild { get { throw null; } }
+
+ public string PlatformName { get { throw null; } }
+ }
+
+ public abstract partial class ProjectElement : Framework.IProjectElement
+ {
+ internal ProjectElement() { }
+
+ public System.Collections.Generic.IEnumerable AllParents { get { throw null; } }
+
+ public virtual string Condition { get { throw null; } set { } }
+
+ public virtual ElementLocation ConditionLocation { get { throw null; } }
+
+ public ProjectRootElement ContainingProject { get { throw null; } }
+
+ public string ElementName { get { throw null; } }
+
+ public string Label { get { throw null; } set { } }
+
+ public ElementLocation LabelLocation { get { throw null; } }
+
+ public ElementLocation Location { get { throw null; } }
+
+ public ProjectElement NextSibling { get { throw null; } }
+
+ public string OuterElement { get { throw null; } }
+
+ public ProjectElementContainer Parent { get { throw null; } }
+
+ public ProjectElement PreviousSibling { get { throw null; } }
+
+ public ProjectElement Clone() { throw null; }
+
+ protected internal virtual ProjectElement Clone(ProjectRootElement factory) { throw null; }
+
+ public virtual void CopyFrom(ProjectElement element) { }
+
+ protected abstract ProjectElement CreateNewInstance(ProjectRootElement owner);
+ protected virtual bool ShouldCloneXmlAttribute(System.Xml.XmlAttribute attribute) { throw null; }
+ }
+
+ public abstract partial class ProjectElementContainer : ProjectElement
+ {
+ internal ProjectElementContainer() { }
+
+ public System.Collections.Generic.IEnumerable AllChildren { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Children { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ChildrenReversed { get { throw null; } }
+
+ public int Count { get { throw null; } }
+
+ public ProjectElement FirstChild { get { throw null; } }
+
+ public ProjectElement LastChild { get { throw null; } }
+
+ public void AppendChild(ProjectElement child) { }
+
+ protected internal virtual ProjectElementContainer DeepClone(ProjectRootElement factory, ProjectElementContainer parent) { throw null; }
+
+ public virtual void DeepCopyFrom(ProjectElementContainer element) { }
+
+ public void InsertAfterChild(ProjectElement child, ProjectElement reference) { }
+
+ public void InsertBeforeChild(ProjectElement child, ProjectElement reference) { }
+
+ public void PrependChild(ProjectElement child) { }
+
+ public void RemoveAllChildren() { }
+
+ public void RemoveChild(ProjectElement child) { }
+ }
+
+ public partial class ProjectExtensionsElement : ProjectElement
+ {
+ internal ProjectExtensionsElement() { }
+
+ public override string Condition { get { throw null; } set { } }
+
+ public override ElementLocation ConditionLocation { get { throw null; } }
+
+ public string Content { get { throw null; } set { } }
+
+ public string this[string name] { get { throw null; } set { } }
+
+ public override void CopyFrom(ProjectElement element) { }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectImportElement : ProjectElement
+ {
+ internal ProjectImportElement() { }
+
+ public ImplicitImportLocation ImplicitImportLocation { get { throw null; } }
+
+ public string MinimumVersion { get { throw null; } set { } }
+
+ public ProjectElement OriginalElement { get { throw null; } }
+
+ public string Project { get { throw null; } set { } }
+
+ public ElementLocation ProjectLocation { get { throw null; } }
+
+ public string Sdk { get { throw null; } set { } }
+
+ public ElementLocation SdkLocation { get { throw null; } }
+
+ public string Version { get { throw null; } set { } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectImportGroupElement : ProjectElementContainer
+ {
+ internal ProjectImportGroupElement() { }
+
+ public System.Collections.Generic.ICollection Imports { get { throw null; } }
+
+ public ProjectImportElement AddImport(string project) { throw null; }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public sealed partial class ProjectInSolution
+ {
+ internal ProjectInSolution() { }
+
+ public string AbsolutePath { get { throw null; } }
+
+ public System.Collections.Generic.IReadOnlyList Dependencies { get { throw null; } }
+
+ public string ParentProjectGuid { get { throw null; } }
+
+ public System.Collections.Generic.IReadOnlyDictionary ProjectConfigurations { get { throw null; } }
+
+ public string ProjectGuid { get { throw null; } }
+
+ public string ProjectName { get { throw null; } }
+
+ public SolutionProjectType ProjectType { get { throw null; } set { } }
+
+ public string RelativePath { get { throw null; } }
+ }
+
+ public partial class ProjectItemDefinitionElement : ProjectElementContainer
+ {
+ internal ProjectItemDefinitionElement() { }
+
+ public string ItemType { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Metadata { get { throw null; } }
+
+ public ProjectMetadataElement AddMetadata(string name, string unevaluatedValue, bool expressAsAttribute) { throw null; }
+
+ public ProjectMetadataElement AddMetadata(string name, string unevaluatedValue) { throw null; }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+
+ protected override bool ShouldCloneXmlAttribute(System.Xml.XmlAttribute attribute) { throw null; }
+ }
+
+ public partial class ProjectItemDefinitionGroupElement : ProjectElementContainer
+ {
+ internal ProjectItemDefinitionGroupElement() { }
+
+ public System.Collections.Generic.ICollection ItemDefinitions { get { throw null; } }
+
+ public ProjectItemDefinitionElement AddItemDefinition(string itemType) { throw null; }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectItemElement : ProjectElementContainer
+ {
+ internal ProjectItemElement() { }
+
+ public string Exclude { get { throw null; } set { } }
+
+ public ElementLocation ExcludeLocation { get { throw null; } }
+
+ public bool HasMetadata { get { throw null; } }
+
+ public string Include { get { throw null; } set { } }
+
+ public ElementLocation IncludeLocation { get { throw null; } }
+
+ public string ItemType { get { throw null; } set { } }
+
+ public string KeepDuplicates { get { throw null; } set { } }
+
+ public ElementLocation KeepDuplicatesLocation { get { throw null; } }
+
+ public string KeepMetadata { get { throw null; } set { } }
+
+ public ElementLocation KeepMetadataLocation { get { throw null; } }
+
+ public string MatchOnMetadata { get { throw null; } set { } }
+
+ public ElementLocation MatchOnMetadataLocation { get { throw null; } }
+
+ public string MatchOnMetadataOptions { get { throw null; } set { } }
+
+ public ElementLocation MatchOnMetadataOptionsLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Metadata { get { throw null; } }
+
+ public string Remove { get { throw null; } set { } }
+
+ public ElementLocation RemoveLocation { get { throw null; } }
+
+ public string RemoveMetadata { get { throw null; } set { } }
+
+ public ElementLocation RemoveMetadataLocation { get { throw null; } }
+
+ public string Update { get { throw null; } set { } }
+
+ public ElementLocation UpdateLocation { get { throw null; } }
+
+ public ProjectMetadataElement AddMetadata(string name, string unevaluatedValue, bool expressAsAttribute) { throw null; }
+
+ public ProjectMetadataElement AddMetadata(string name, string unevaluatedValue) { throw null; }
+
+ public override void CopyFrom(ProjectElement element) { }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+
+ protected override bool ShouldCloneXmlAttribute(System.Xml.XmlAttribute attribute) { throw null; }
+ }
+
+ public partial class ProjectItemGroupElement : ProjectElementContainer
+ {
+ internal ProjectItemGroupElement() { }
+
+ public System.Collections.Generic.ICollection Items { get { throw null; } }
+
+ public ProjectItemElement AddItem(string itemType, string include, System.Collections.Generic.IEnumerable> metadata) { throw null; }
+
+ public ProjectItemElement AddItem(string itemType, string include) { throw null; }
+
+ public override void CopyFrom(ProjectElement element) { }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectMetadataElement : ProjectElement
+ {
+ internal ProjectMetadataElement() { }
+
+ public bool ExpressedAsAttribute { get { throw null; } set { } }
+
+ public string Name { get { throw null; } set { } }
+
+ public string Value { get { throw null; } set { } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectOnErrorElement : ProjectElement
+ {
+ internal ProjectOnErrorElement() { }
+
+ public string ExecuteTargetsAttribute { get { throw null; } set { } }
+
+ public ElementLocation ExecuteTargetsLocation { get { throw null; } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectOtherwiseElement : ProjectElementContainer
+ {
+ internal ProjectOtherwiseElement() { }
+
+ public System.Collections.Generic.ICollection ChooseElements { get { throw null; } }
+
+ public override string Condition { get { throw null; } set { } }
+
+ public override ElementLocation ConditionLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemGroups { get { throw null; } }
+
+ public System.Collections.Generic.ICollection PropertyGroups { get { throw null; } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectOutputElement : ProjectElement
+ {
+ internal ProjectOutputElement() { }
+
+ public bool IsOutputItem { get { throw null; } }
+
+ public bool IsOutputProperty { get { throw null; } }
+
+ public string ItemType { get { throw null; } set { } }
+
+ public ElementLocation ItemTypeLocation { get { throw null; } }
+
+ public string PropertyName { get { throw null; } set { } }
+
+ public ElementLocation PropertyNameLocation { get { throw null; } }
+
+ public string TaskParameter { get { throw null; } set { } }
+
+ public ElementLocation TaskParameterLocation { get { throw null; } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectPropertyElement : ProjectElement
+ {
+ internal ProjectPropertyElement() { }
+
+ public string Name { get { throw null; } set { } }
+
+ public string Value { get { throw null; } set { } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectPropertyGroupElement : ProjectElementContainer
+ {
+ internal ProjectPropertyGroupElement() { }
+
+ public System.Collections.Generic.ICollection Properties { get { throw null; } }
+
+ public System.Collections.Generic.ICollection PropertiesReversed { get { throw null; } }
+
+ public ProjectPropertyElement AddProperty(string name, string unevaluatedValue) { throw null; }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+
+ public ProjectPropertyElement SetProperty(string name, string unevaluatedValue) { throw null; }
+ }
+
+ public partial class ProjectRootElement : ProjectElementContainer
+ {
+ internal ProjectRootElement() { }
+
+ public System.Collections.Generic.ICollection ChooseElements { get { throw null; } }
+
+ public override string Condition { get { throw null; } set { } }
+
+ public override ElementLocation ConditionLocation { get { throw null; } }
+
+ public string DefaultTargets { get { throw null; } set { } }
+
+ public ElementLocation DefaultTargetsLocation { get { throw null; } }
+
+ public string DirectoryPath { get { throw null; } }
+
+ public System.Text.Encoding Encoding { get { throw null; } }
+
+ public string EscapedFullPath { get { throw null; } }
+
+ public string FullPath { get { throw null; } set { } }
+
+ public bool HasUnsavedChanges { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ImportGroups { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ImportGroupsReversed { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Imports { get { throw null; } }
+
+ public string InitialTargets { get { throw null; } set { } }
+
+ public ElementLocation InitialTargetsLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemDefinitionGroups { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemDefinitionGroupsReversed { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemDefinitions { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemGroups { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemGroupsReversed { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Items { get { throw null; } }
+
+ public System.DateTime LastWriteTimeWhenRead { get { throw null; } }
+
+ public bool PreserveFormatting { get { throw null; } }
+
+ public ElementLocation ProjectFileLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Properties { get { throw null; } }
+
+ public System.Collections.Generic.ICollection PropertyGroups { get { throw null; } }
+
+ public System.Collections.Generic.ICollection PropertyGroupsReversed { get { throw null; } }
+
+ public string RawXml { get { throw null; } }
+
+ public string Sdk { get { throw null; } set { } }
+
+ public ElementLocation SdkLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Targets { get { throw null; } }
+
+ public System.DateTime TimeLastChanged { get { throw null; } }
+
+ public string ToolsVersion { get { throw null; } set { } }
+
+ public ElementLocation ToolsVersionLocation { get { throw null; } }
+
+ public string TreatAsLocalProperty { get { throw null; } set { } }
+
+ public ElementLocation TreatAsLocalPropertyLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection UsingTasks { get { throw null; } }
+
+ public int Version { get { throw null; } }
+
+ public ProjectImportElement AddImport(string project) { throw null; }
+
+ public ProjectImportGroupElement AddImportGroup() { throw null; }
+
+ public ProjectItemElement AddItem(string itemType, string include, System.Collections.Generic.IEnumerable> metadata) { throw null; }
+
+ public ProjectItemElement AddItem(string itemType, string include) { throw null; }
+
+ public ProjectItemDefinitionElement AddItemDefinition(string itemType) { throw null; }
+
+ public ProjectItemDefinitionGroupElement AddItemDefinitionGroup() { throw null; }
+
+ public ProjectItemGroupElement AddItemGroup() { throw null; }
+
+ public ProjectPropertyElement AddProperty(string name, string value) { throw null; }
+
+ public ProjectPropertyGroupElement AddPropertyGroup() { throw null; }
+
+ public ProjectTargetElement AddTarget(string name) { throw null; }
+
+ public ProjectUsingTaskElement AddUsingTask(string name, string assemblyFile, string assemblyName) { throw null; }
+
+ public static ProjectRootElement Create() { throw null; }
+
+ public static ProjectRootElement Create(Evaluation.NewProjectFileOptions projectFileOptions) { throw null; }
+
+ public static ProjectRootElement Create(Evaluation.ProjectCollection projectCollection, Evaluation.NewProjectFileOptions projectFileOptions) { throw null; }
+
+ public static ProjectRootElement Create(Evaluation.ProjectCollection projectCollection) { throw null; }
+
+ public static ProjectRootElement Create(string path, Evaluation.NewProjectFileOptions newProjectFileOptions) { throw null; }
+
+ public static ProjectRootElement Create(string path, Evaluation.ProjectCollection projectCollection, Evaluation.NewProjectFileOptions newProjectFileOptions) { throw null; }
+
+ public static ProjectRootElement Create(string path, Evaluation.ProjectCollection projectCollection) { throw null; }
+
+ public static ProjectRootElement Create(string path) { throw null; }
+
+ public static ProjectRootElement Create(System.Xml.XmlReader xmlReader, Evaluation.ProjectCollection projectCollection, bool preserveFormatting) { throw null; }
+
+ public static ProjectRootElement Create(System.Xml.XmlReader xmlReader, Evaluation.ProjectCollection projectCollection) { throw null; }
+
+ public static ProjectRootElement Create(System.Xml.XmlReader xmlReader) { throw null; }
+
+ public ProjectChooseElement CreateChooseElement() { throw null; }
+
+ public ProjectImportElement CreateImportElement(string project) { throw null; }
+
+ public ProjectImportGroupElement CreateImportGroupElement() { throw null; }
+
+ public ProjectItemDefinitionElement CreateItemDefinitionElement(string itemType) { throw null; }
+
+ public ProjectItemDefinitionGroupElement CreateItemDefinitionGroupElement() { throw null; }
+
+ public ProjectItemElement CreateItemElement(string itemType, string include) { throw null; }
+
+ public ProjectItemElement CreateItemElement(string itemType) { throw null; }
+
+ public ProjectItemGroupElement CreateItemGroupElement() { throw null; }
+
+ public ProjectMetadataElement CreateMetadataElement(string name, string unevaluatedValue) { throw null; }
+
+ public ProjectMetadataElement CreateMetadataElement(string name) { throw null; }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+
+ public ProjectOnErrorElement CreateOnErrorElement(string executeTargets) { throw null; }
+
+ public ProjectOtherwiseElement CreateOtherwiseElement() { throw null; }
+
+ public ProjectOutputElement CreateOutputElement(string taskParameter, string itemType, string propertyName) { throw null; }
+
+ public ProjectExtensionsElement CreateProjectExtensionsElement() { throw null; }
+
+ public ProjectSdkElement CreateProjectSdkElement(string sdkName, string sdkVersion) { throw null; }
+
+ public ProjectPropertyElement CreatePropertyElement(string name) { throw null; }
+
+ public ProjectPropertyGroupElement CreatePropertyGroupElement() { throw null; }
+
+ public ProjectTargetElement CreateTargetElement(string name) { throw null; }
+
+ public ProjectTaskElement CreateTaskElement(string name) { throw null; }
+
+ public ProjectUsingTaskBodyElement CreateUsingTaskBodyElement(string evaluate, string body) { throw null; }
+
+ public ProjectUsingTaskElement CreateUsingTaskElement(string taskName, string assemblyFile, string assemblyName, string runtime, string architecture) { throw null; }
+
+ public ProjectUsingTaskElement CreateUsingTaskElement(string taskName, string assemblyFile, string assemblyName) { throw null; }
+
+ public ProjectUsingTaskParameterElement CreateUsingTaskParameterElement(string name, string output, string required, string parameterType) { throw null; }
+
+ public UsingTaskParameterGroupElement CreateUsingTaskParameterGroupElement() { throw null; }
+
+ public ProjectWhenElement CreateWhenElement(string condition) { throw null; }
+
+ public ProjectRootElement DeepClone() { throw null; }
+
+ public static ProjectRootElement Open(string path, Evaluation.ProjectCollection projectCollection, bool? preserveFormatting) { throw null; }
+
+ public static ProjectRootElement Open(string path, Evaluation.ProjectCollection projectCollection) { throw null; }
+
+ public static ProjectRootElement Open(string path) { throw null; }
+
+ public void Reload(bool throwIfUnsavedChanges = true, bool? preserveFormatting = null) { }
+
+ public void ReloadFrom(string path, bool throwIfUnsavedChanges = true, bool? preserveFormatting = null) { }
+
+ public void ReloadFrom(System.Xml.XmlReader reader, bool throwIfUnsavedChanges = true, bool? preserveFormatting = null) { }
+
+ public void Save() { }
+
+ public void Save(System.IO.TextWriter writer) { }
+
+ public void Save(string path, System.Text.Encoding encoding) { }
+
+ public void Save(string path) { }
+
+ public void Save(System.Text.Encoding saveEncoding) { }
+
+ public static ProjectRootElement TryOpen(string path, Evaluation.ProjectCollection projectCollection, bool? preserveFormatting) { throw null; }
+
+ public static ProjectRootElement TryOpen(string path, Evaluation.ProjectCollection projectCollection) { throw null; }
+
+ public static ProjectRootElement TryOpen(string path) { throw null; }
+ }
+
+ public partial class ProjectSdkElement : ProjectElementContainer
+ {
+ internal ProjectSdkElement() { }
+
+ public string MinimumVersion { get { throw null; } set { } }
+
+ public string Name { get { throw null; } set { } }
+
+ public string Version { get { throw null; } set { } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectTargetElement : ProjectElementContainer
+ {
+ internal ProjectTargetElement() { }
+
+ public string AfterTargets { get { throw null; } set { } }
+
+ public ElementLocation AfterTargetsLocation { get { throw null; } }
+
+ public string BeforeTargets { get { throw null; } set { } }
+
+ public ElementLocation BeforeTargetsLocation { get { throw null; } }
+
+ public string DependsOnTargets { get { throw null; } set { } }
+
+ public ElementLocation DependsOnTargetsLocation { get { throw null; } }
+
+ public string Inputs { get { throw null; } set { } }
+
+ public ElementLocation InputsLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemGroups { get { throw null; } }
+
+ public string KeepDuplicateOutputs { get { throw null; } set { } }
+
+ public ElementLocation KeepDuplicateOutputsLocation { get { throw null; } }
+
+ public string Name { get { throw null; } set { } }
+
+ public ElementLocation NameLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection OnErrors { get { throw null; } }
+
+ public string Outputs { get { throw null; } set { } }
+
+ public ElementLocation OutputsLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection PropertyGroups { get { throw null; } }
+
+ public string Returns { get { throw null; } set { } }
+
+ public ElementLocation ReturnsLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Tasks { get { throw null; } }
+
+ public ProjectItemGroupElement AddItemGroup() { throw null; }
+
+ public ProjectPropertyGroupElement AddPropertyGroup() { throw null; }
+
+ public ProjectTaskElement AddTask(string taskName) { throw null; }
+
+ public override void CopyFrom(ProjectElement element) { }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectTaskElement : ProjectElementContainer
+ {
+ internal ProjectTaskElement() { }
+
+ public string ContinueOnError { get { throw null; } set { } }
+
+ public ElementLocation ContinueOnErrorLocation { get { throw null; } }
+
+ public string MSBuildArchitecture { get { throw null; } set { } }
+
+ public ElementLocation MSBuildArchitectureLocation { get { throw null; } }
+
+ public string MSBuildRuntime { get { throw null; } set { } }
+
+ public ElementLocation MSBuildRuntimeLocation { get { throw null; } }
+
+ public string Name { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Outputs { get { throw null; } }
+
+ public System.Collections.Generic.IEnumerable> ParameterLocations { get { throw null; } }
+
+ public System.Collections.Generic.IDictionary Parameters { get { throw null; } }
+
+ public ProjectOutputElement AddOutputItem(string taskParameter, string itemType, string condition) { throw null; }
+
+ public ProjectOutputElement AddOutputItem(string taskParameter, string itemType) { throw null; }
+
+ public ProjectOutputElement AddOutputProperty(string taskParameter, string propertyName, string condition) { throw null; }
+
+ public ProjectOutputElement AddOutputProperty(string taskParameter, string propertyName) { throw null; }
+
+ public override void CopyFrom(ProjectElement element) { }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+
+ public string GetParameter(string name) { throw null; }
+
+ public void RemoveAllParameters() { }
+
+ public void RemoveParameter(string name) { }
+
+ public void SetParameter(string name, string unevaluatedValue) { }
+ }
+
+ public partial class ProjectUsingTaskBodyElement : ProjectElement
+ {
+ internal ProjectUsingTaskBodyElement() { }
+
+ public override string Condition { get { throw null; } set { } }
+
+ public override ElementLocation ConditionLocation { get { throw null; } }
+
+ public string Evaluate { get { throw null; } set { } }
+
+ public ElementLocation EvaluateLocation { get { throw null; } }
+
+ public string TaskBody { get { throw null; } set { } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectUsingTaskElement : ProjectElementContainer
+ {
+ internal ProjectUsingTaskElement() { }
+
+ public string Architecture { get { throw null; } set { } }
+
+ public ElementLocation ArchitectureLocation { get { throw null; } }
+
+ public string AssemblyFile { get { throw null; } set { } }
+
+ public ElementLocation AssemblyFileLocation { get { throw null; } }
+
+ public string AssemblyName { get { throw null; } set { } }
+
+ public ElementLocation AssemblyNameLocation { get { throw null; } }
+
+ public string Override { get { throw null; } set { } }
+
+ public ElementLocation OverrideLocation { get { throw null; } }
+
+ public UsingTaskParameterGroupElement ParameterGroup { get { throw null; } }
+
+ public string Runtime { get { throw null; } set { } }
+
+ public ElementLocation RuntimeLocation { get { throw null; } }
+
+ public ProjectUsingTaskBodyElement TaskBody { get { throw null; } }
+
+ public string TaskFactory { get { throw null; } set { } }
+
+ public ElementLocation TaskFactoryLocation { get { throw null; } }
+
+ public string TaskName { get { throw null; } set { } }
+
+ public ElementLocation TaskNameLocation { get { throw null; } }
+
+ public UsingTaskParameterGroupElement AddParameterGroup() { throw null; }
+
+ public ProjectUsingTaskBodyElement AddUsingTaskBody(string evaluate, string taskBody) { throw null; }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectUsingTaskParameterElement : ProjectElement
+ {
+ internal ProjectUsingTaskParameterElement() { }
+
+ public override string Condition { get { throw null; } set { } }
+
+ public override ElementLocation ConditionLocation { get { throw null; } }
+
+ public string Name { get { throw null; } set { } }
+
+ public string Output { get { throw null; } set { } }
+
+ public ElementLocation OutputLocation { get { throw null; } }
+
+ public string ParameterType { get { throw null; } set { } }
+
+ public ElementLocation ParameterTypeLocation { get { throw null; } }
+
+ public string Required { get { throw null; } set { } }
+
+ public ElementLocation RequiredLocation { get { throw null; } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public partial class ProjectWhenElement : ProjectElementContainer
+ {
+ internal ProjectWhenElement() { }
+
+ public System.Collections.Generic.ICollection ChooseElements { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemGroups { get { throw null; } }
+
+ public System.Collections.Generic.ICollection PropertyGroups { get { throw null; } }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+
+ public sealed partial class SolutionConfigurationInSolution
+ {
+ internal SolutionConfigurationInSolution() { }
+
+ public string ConfigurationName { get { throw null; } }
+
+ public string FullName { get { throw null; } }
+
+ public string PlatformName { get { throw null; } }
+ }
+
+ public sealed partial class SolutionFile
+ {
+ internal SolutionFile() { }
+
+ public System.Collections.Generic.IReadOnlyDictionary ProjectsByGuid { get { throw null; } }
+
+ public System.Collections.Generic.IReadOnlyList ProjectsInOrder { get { throw null; } }
+
+ public System.Collections.Generic.IReadOnlyList SolutionConfigurations { get { throw null; } }
+
+ public string GetDefaultConfigurationName() { throw null; }
+
+ public string GetDefaultPlatformName() { throw null; }
+
+ public static SolutionFile Parse(string solutionFile) { throw null; }
+ }
+
+ public enum SolutionProjectType
+ {
+ Unknown = 0,
+ KnownToBeMSBuildFormat = 1,
+ SolutionFolder = 2,
+ WebProject = 3,
+ WebDeploymentProject = 4,
+ EtpSubProject = 5,
+ SharedProject = 6
+ }
+
+ public partial class UsingTaskParameterGroupElement : ProjectElementContainer
+ {
+ internal UsingTaskParameterGroupElement() { }
+
+ public override string Condition { get { throw null; } set { } }
+
+ public override ElementLocation ConditionLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Parameters { get { throw null; } }
+
+ public ProjectUsingTaskParameterElement AddParameter(string name, string output, string required, string parameterType) { throw null; }
+
+ public ProjectUsingTaskParameterElement AddParameter(string name) { throw null; }
+
+ protected override ProjectElement CreateNewInstance(ProjectRootElement owner) { throw null; }
+ }
+}
+
+namespace Microsoft.Build.Definition
+{
+ public partial class ProjectOptions
+ {
+ public FileSystem.IDirectoryCacheFactory DirectoryCacheFactory { get { throw null; } set { } }
+
+ public Evaluation.Context.EvaluationContext EvaluationContext { get { throw null; } set { } }
+
+ public System.Collections.Generic.IDictionary GlobalProperties { get { throw null; } set { } }
+
+ public Evaluation.ProjectLoadSettings LoadSettings { get { throw null; } set { } }
+
+ public Evaluation.ProjectCollection ProjectCollection { get { throw null; } set { } }
+
+ public string SubToolsetVersion { get { throw null; } set { } }
+
+ public string ToolsVersion { get { throw null; } set { } }
+ }
+}
+
+namespace Microsoft.Build.Evaluation
+{
+ public partial class GlobResult
+ {
+ public GlobResult(Construction.ProjectItemElement itemElement, System.Collections.Generic.IEnumerable includeGlobStrings, Globbing.IMSBuildGlob globWithGaps, System.Collections.Generic.IEnumerable excludeFragmentStrings, System.Collections.Generic.IEnumerable removeFragmentStrings) { }
+
+ public System.Collections.Generic.IEnumerable Excludes { get { throw null; } }
+
+ public System.Collections.Generic.IEnumerable IncludeGlobs { get { throw null; } }
+
+ public Construction.ProjectItemElement ItemElement { get { throw null; } }
+
+ public Globbing.IMSBuildGlob MsBuildGlob { get { throw null; } set { } }
+
+ public System.Collections.Generic.IEnumerable Removes { get { throw null; } set { } }
+ }
+
+ public static partial class MatchOnMetadataConstants
+ {
+ public const MatchOnMetadataOptions MatchOnMetadataOptionsDefaultValue = 0;
+ }
+
+ public enum MatchOnMetadataOptions
+ {
+ CaseSensitive = 0,
+ CaseInsensitive = 1,
+ PathLike = 2
+ }
+
+ [System.Flags]
+ public enum NewProjectFileOptions
+ {
+ IncludeAllOptions = -1,
+ None = 0,
+ IncludeXmlDeclaration = 1,
+ IncludeToolsVersion = 2,
+ IncludeXmlNamespace = 4
+ }
+
+ public enum Operation
+ {
+ Include = 0,
+ Exclude = 1,
+ Update = 2,
+ Remove = 3
+ }
+
+ public partial class Project
+ {
+ public Project() { }
+
+ public Project(Construction.ProjectRootElement xml, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings) { }
+
+ public Project(Construction.ProjectRootElement xml, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection) { }
+
+ public Project(Construction.ProjectRootElement xml, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, string subToolsetVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings) { }
+
+ public Project(Construction.ProjectRootElement xml, System.Collections.Generic.IDictionary globalProperties, string toolsVersion) { }
+
+ public Project(Construction.ProjectRootElement xml) { }
+
+ public Project(NewProjectFileOptions newProjectFileOptions) { }
+
+ public Project(ProjectCollection projectCollection, NewProjectFileOptions newProjectFileOptions) { }
+
+ public Project(ProjectCollection projectCollection) { }
+
+ public Project(System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection, NewProjectFileOptions newProjectFileOptions) { }
+
+ public Project(System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection) { }
+
+ public Project(string projectFile, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings) { }
+
+ public Project(string projectFile, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection) { }
+
+ public Project(string projectFile, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, string subToolsetVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings) { }
+
+ public Project(string projectFile, System.Collections.Generic.IDictionary globalProperties, string toolsVersion) { }
+
+ public Project(string projectFile) { }
+
+ public Project(System.Xml.XmlReader xmlReader, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings) { }
+
+ public Project(System.Xml.XmlReader xmlReader, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, ProjectCollection projectCollection) { }
+
+ public Project(System.Xml.XmlReader xmlReader, System.Collections.Generic.IDictionary globalProperties, string toolsVersion, string subToolsetVersion, ProjectCollection projectCollection, ProjectLoadSettings loadSettings) { }
+
+ public Project(System.Xml.XmlReader xmlReader, System.Collections.Generic.IDictionary globalProperties, string toolsVersion) { }
+
+ public Project(System.Xml.XmlReader xmlReader) { }
+
+ public System.Collections.Generic.ICollection AllEvaluatedItemDefinitionMetadata { get { throw null; } }
+
+ public System.Collections.Generic.ICollection AllEvaluatedItems { get { throw null; } }
+
+ public System.Collections.Generic.ICollection AllEvaluatedProperties { get { throw null; } }
+
+ public System.Collections.Generic.IDictionary> ConditionedProperties { get { throw null; } }
+
+ public string DirectoryPath { get { throw null; } }
+
+ public bool DisableMarkDirty { get { throw null; } set { } }
+
+ public int EvaluationCounter { get { throw null; } }
+
+ public string FullPath { get { throw null; } set { } }
+
+ public System.Collections.Generic.IDictionary GlobalProperties { get { throw null; } }
+
+ public System.Collections.Generic.IList Imports { get { throw null; } }
+
+ public System.Collections.Generic.IList ImportsIncludingDuplicates { get { throw null; } }
+
+ public bool IsBuildEnabled { get { throw null; } set { } }
+
+ public bool IsDirty { get { throw null; } }
+
+ public System.Collections.Generic.IDictionary ItemDefinitions { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Items { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemsIgnoringCondition { get { throw null; } }
+
+ public System.Collections.Generic.ICollection ItemTypes { get { throw null; } }
+
+ public int LastEvaluationId { get { throw null; } }
+
+ public ProjectCollection ProjectCollection { get { throw null; } }
+
+ public Construction.ElementLocation ProjectFileLocation { get { throw null; } }
+
+ public System.Collections.Generic.ICollection Properties { get { throw null; } }
+
+ public bool SkipEvaluation { get { throw null; } set { } }
+
+ public string SubToolsetVersion { get { throw null; } }
+
+ public System.Collections.Generic.IDictionary Targets { get { throw null; } }
+
+ public bool ThrowInsteadOfSplittingItemElement { get { throw null; } set { } }
+
+ public string ToolsVersion { get { throw null; } }
+
+ public Construction.ProjectRootElement Xml { get { throw null; } }
+
+ public System.Collections.Generic.IList AddItem(string itemType, string unevaluatedInclude, System.Collections.Generic.IEnumerable> metadata) { throw null; }
+
+ public System.Collections.Generic.IList AddItem(string itemType, string unevaluatedInclude) { throw null; }
+
+ public System.Collections.Generic.IList AddItemFast(string itemType, string unevaluatedInclude, System.Collections.Generic.IEnumerable> metadata) { throw null; }
+
+ public System.Collections.Generic.IList AddItemFast(string itemType, string unevaluatedInclude) { throw null; }
+
+ public bool Build() { throw null; }
+
+ public bool Build(Framework.ILogger logger) { throw null; }
+
+ public bool Build(System.Collections.Generic.IEnumerable loggers, System.Collections.Generic.IEnumerable remoteLoggers) { throw null; }
+
+ public bool Build(System.Collections.Generic.IEnumerable loggers) { throw null; }
+
+ public bool Build(string target, System.Collections.Generic.IEnumerable loggers, System.Collections.Generic.IEnumerable remoteLoggers) { throw null; }
+
+ public bool Build(string target, System.Collections.Generic.IEnumerable loggers) { throw null; }
+
+ public bool Build(string target) { throw null; }
+
+ public bool Build(string[] targets, System.Collections.Generic.IEnumerable loggers, System.Collections.Generic.IEnumerable remoteLoggers, Context.EvaluationContext evaluationContext) { throw null; }
+
+ public bool Build(string[] targets, System.Collections.Generic.IEnumerable loggers, System.Collections.Generic.IEnumerable remoteLoggers) { throw null; }
+
+ public bool Build(string[] targets, System.Collections.Generic.IEnumerable loggers) { throw null; }
+
+ public bool Build(string[] targets) { throw null; }
+
+ public Execution.ProjectInstance CreateProjectInstance() { throw null; }
+
+ public Execution.ProjectInstance CreateProjectInstance(Execution.ProjectInstanceSettings settings, Context.EvaluationContext evaluationContext) { throw null; }
+
+ public Execution.ProjectInstance CreateProjectInstance(Execution.ProjectInstanceSettings settings) { throw null; }
+
+ public string ExpandString(string unexpandedValue) { throw null; }
+
+ public static Project FromFile(string file, Definition.ProjectOptions options) { throw null; }
+
+ public static Project FromProjectRootElement(Construction.ProjectRootElement rootElement, Definition.ProjectOptions options) { throw null; }
+
+ public static Project FromXmlReader(System.Xml.XmlReader reader, Definition.ProjectOptions options) { throw null; }
+
+ public System.Collections.Generic.List GetAllGlobs() { throw null; }
+
+ public System.Collections.Generic.List GetAllGlobs(Context.EvaluationContext evaluationContext) { throw null; }
+
+ public System.Collections.Generic.List GetAllGlobs(string itemType, Context.EvaluationContext evaluationContext) { throw null; }
+
+ public System.Collections.Generic.List GetAllGlobs(string itemType) { throw null; }
+
+ public static string GetEvaluatedItemIncludeEscaped(ProjectItem item) { throw null; }
+
+ public static string GetEvaluatedItemIncludeEscaped(ProjectItemDefinition item) { throw null; }
+
+ public System.Collections.Generic.List GetItemProvenance(ProjectItem item, Context.EvaluationContext evaluationContext) { throw null; }
+
+ public System.Collections.Generic.List GetItemProvenance(ProjectItem item) { throw null; }
+
+ public System.Collections.Generic.List GetItemProvenance(string itemToMatch, Context.EvaluationContext evaluationContext) { throw null; }
+
+ public System.Collections.Generic.List GetItemProvenance(string itemToMatch, string itemType, Context.EvaluationContext evaluationContext) { throw null; }
+
+ public System.Collections.Generic.List GetItemProvenance(string itemToMatch, string itemType) { throw null; }
+
+ public System.Collections.Generic.List GetItemProvenance(string itemToMatch) { throw null; }
+
+ public System.Collections.Generic.ICollection