diff --git a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
index 34ccaf5d6..5ee0cf7f0 100644
--- a/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
+++ b/src/SourceBuild/Arcade/tools/SourceBuildArcadeTarball.targets
@@ -337,6 +337,59 @@
" />
+
+
+
+
+
+
+
+
+
+
+
@@ -344,3 +397,4 @@
+
diff --git a/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj b/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj
index 17f84b37d..12848a9c4 100644
--- a/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj
+++ b/src/SourceBuild/Arcade/tools/TextOnlyPackages.csproj
@@ -44,6 +44,12 @@
+
+
+
+
+
+
diff --git a/src/SourceBuild/README.md b/src/SourceBuild/README.md
new file mode 100644
index 000000000..cb90757a6
--- /dev/null
+++ b/src/SourceBuild/README.md
@@ -0,0 +1,77 @@
+# Source-Build
+
+This directory contains files necessary to generate a tarball that can be used
+to build .NET from source.
+
+For more information, see
+[dotnet/source-build](https://github.com/dotnet/source-build).
+
+## Local development workflow
+
+These are the steps used by some members of the .NET source-build team to create
+a tarball and build it on a local machine as part of the development cycle:
+
+1. Check out this repository and open a command line in the directory.
+1. `./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=/repos/tarball1 /p:PreserveTarballGitFolders=true`
+ * The `TarballDir` can be anywhere you want outside of the repository.
+1. `cd /repos/tarball1`
+1. `./prep.sh`
+1. `./build.sh --online`
+1. Examine results and make changes to the source code in the tarball. The
+ `.git` folders are preserved, so you can commit changes and save them as
+ patches.
+1. When a repo builds, source-build places a `.complete` file to prevent it from
+ rebuilding again. This allows you to incrementally retry a build if there's a
+ transient failure. But it also prevents you from rebuilding a repo after
+ you've modified it.
+ * To force a repo to rebuild with your new changes, run:
+ `rm -f ./artifacts/obj/semaphores//Build.complete`
+1. Run `./build.sh --online` again, and continue to repeat as necessary.
+
+When developing a prebuilt removal change, examine the results of the build,
+specifically:
+
+* Prebuilt report. For example:
+ `./src/runtime.733a3089ec6945422caf06035c18ff700c9d51be/artifacts/source-build/self/prebuilt-report`
+
+## Creating a patch file
+
+To create a repo patch file, first commit your changes to the repo as normal,
+then run this command inside the repo to generate a patch file inside the repo:
+
+```sh
+git format-patch --zero-commit --no-signature -1
+```
+
+Then, move the patch file into this repo, at
+`src/SourceBuild/tarball/patches/`.
+
+> If you define `PATCH_DIR` to point at the `patches` directory, you can use
+> `-o` to place the patch file directly in the right directory:
+>
+> ```sh
+> git format-patch --zero-commit --no-signature -1 -o "$PATCH_DIR/"
+> ```
+
+After generating the patch file, the numeric prefix on the filename may need to
+be changed. By convention, new patches should be one number above the largest
+number that already exists in the patch file directory. If there's a gap in the
+number sequence, do not fix it (generally speaking), to avoid unnecessary diffs
+and potential merge conflicts.
+
+To apply a patch, or multiple patches, use `git am` while inside the target
+repo. For example, to apply *all* `sdk` patches onto a fresh clone of the `sdk`
+repository that has already been checked out to the correct commit, use:
+
+```sh
+git am "$PATCH_DIR/sdk/*"
+```
+
+This creates a Git commit with the patch contents, so you can easily amend a
+patch or create a new commit on top that you can be sure will apply cleanly.
+
+There is a method to create a series of patches based on a range of Git commits,
+but this is not usually useful for 6.0 main development. It is used in servicing
+to "freshen up" the sequence of patches (resolve conflicts) all at once.
+
+Note: Tarballs have already applied patches to the source code.
diff --git a/src/SourceBuild/tarball/content/eng/Versions.props b/src/SourceBuild/tarball/content/eng/Versions.props
index e5a4dd8e0..365caa902 100644
--- a/src/SourceBuild/tarball/content/eng/Versions.props
+++ b/src/SourceBuild/tarball/content/eng/Versions.props
@@ -21,8 +21,7 @@
- 0.1.0-6.0.100-bootstrap.19
0.1.0-6.0.100-
- 25
+ 30
diff --git a/src/SourceBuild/tarball/content/patches/runtime/0001-Fix-Omnisharp-add-needed-extra-TFMs.patch b/src/SourceBuild/tarball/content/patches/runtime/0001-Fix-Omnisharp-add-needed-extra-TFMs.patch
deleted file mode 100644
index 192ed3519..000000000
--- a/src/SourceBuild/tarball/content/patches/runtime/0001-Fix-Omnisharp-add-needed-extra-TFMs.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 93de82c03ff71f897599db2824b959d020b877bd Mon Sep 17 00:00:00 2001
-From: Chris Rummel
-Date: Thu, 30 Sep 2021 16:08:28 -0500
-Subject: [PATCH 1/2] Fix Omnisharp: Add needed extra TFMs.
-
-Omnisharp requires the net46 TFMs of this files explictly and we don't build them by default. This patch adds net46 to the relevant projects. The original issue for this was https://github.com/OmniSharp/omnisharp-vscode/issues/4610 and the long-term fix of switching to net>4 TFM is tracked in https://github.com/OmniSharp/omnisharp-vscode/issues/4360.
-
----
- src/libraries/Directory.Build.props | 2 +-
- .../ref/System.Resources.Extensions.csproj | 4 ++--
- .../src/System.Resources.Extensions.csproj | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props
-index 4d39fad397e..649c669517e 100644
---- a/src/libraries/Directory.Build.props
-+++ b/src/libraries/Directory.Build.props
-@@ -27,7 +27,7 @@
-
-
-
-- net461;net462;net47;net471;net472
-+ net46;net461;net462;net47;net471;net472
-
-
-
-diff --git a/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj b/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj
-index 99037ae459c..848be41690c 100644
---- a/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj
-+++ b/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj
-@@ -1,6 +1,6 @@
-
-
-- $(NetCoreAppCurrent);netstandard2.0;net461
-+ $(NetCoreAppCurrent);netstandard2.0;net46;net461
- enable
-
-
-@@ -11,4 +11,4 @@
-
-
-
--
-\ No newline at end of file
-+
-diff --git a/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj b/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj
-index adacc9b977e..38d4c145352 100644
---- a/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj
-+++ b/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj
-@@ -1,7 +1,7 @@
-
-
- true
-- $(NetCoreAppCurrent);netstandard2.0;net461
-+ $(NetCoreAppCurrent);netstandard2.0;net46;net461
- $(DefineConstants);RESOURCES_EXTENSIONS
- enable
-
---
-2.17.1
-
diff --git a/src/SourceBuild/tarball/content/smoke-test.sh b/src/SourceBuild/tarball/content/smoke-test.sh
index cda8014f1..689d64def 100755
--- a/src/SourceBuild/tarball/content/smoke-test.sh
+++ b/src/SourceBuild/tarball/content/smoke-test.sh
@@ -168,8 +168,8 @@ function doCommand() {
dotnetCmd=${dotnetDir}/dotnet
- # rename '#'' to 'Sharp' to workaround https://github.com/dotnet/aspnetcore/issues/36900
- projectDir="${lang//"#"/"Sharp"}_${proj}"
+ # rename '#'' to 'Sharp' to workaround https://github.com/dotnet/roslyn/issues/51692
+ projectDir="${lang//#/Sharp}_${proj}"
mkdir "${projectDir}"
cd "${projectDir}"
@@ -296,18 +296,18 @@ function runAllTests() {
if [ "$excludeNonWebTests" == "false" ]; then
doCommand C# console new restore build run multi-rid-publish
doCommand C# classlib new restore build multi-rid-publish
- # doCommand C# xunit new restore test
- # doCommand C# mstest new restore test
+ doCommand C# xunit new restore test
+ doCommand C# mstest new restore test
doCommand VB console new restore build run multi-rid-publish
doCommand VB classlib new restore build multi-rid-publish
- # doCommand VB xunit new restore test
- # doCommand VB mstest new restore test
+ doCommand VB xunit new restore test
+ doCommand VB mstest new restore test
- # doCommand F# console new restore build run multi-rid-publish
- # doCommand F# classlib new restore build multi-rid-publish
- # doCommand F# xunit new restore test
- # doCommand F# mstest new restore test
+ doCommand F# console new restore build run multi-rid-publish
+ doCommand F# classlib new restore build multi-rid-publish
+ doCommand F# xunit new restore test
+ doCommand F# mstest new restore test
fi
if [ "$excludeWebTests" == "false" ]; then
@@ -329,12 +329,12 @@ function runWebTests() {
doCommand C# mvc "$@" new restore build run multi-rid-publish
doCommand C# webapi "$@" new restore build multi-rid-publish
doCommand C# razor "$@" new restore build run multi-rid-publish
- # doCommand C# blazorwasm "$@" new restore build run publish
+ doCommand C# blazorwasm "$@" new restore build run publish
doCommand C# blazorserver "$@" new restore build run publish
- # doCommand F# web "$@" new restore build run multi-rid-publish
- # doCommand F# mvc "$@" new restore build run multi-rid-publish
- # doCommand F# webapi "$@" new restore build run multi-rid-publish
+ doCommand F# web "$@" new restore build run multi-rid-publish
+ doCommand F# mvc "$@" new restore build run multi-rid-publish
+ doCommand F# webapi "$@" new restore build run multi-rid-publish
}
function runXmlDocTests() {
@@ -521,6 +521,7 @@ function runXmlDocTests() {
aspnetcoreappIgnoreList=(
Microsoft.AspNetCore.App.Analyzers.xml
+ Microsoft.AspNetCore.App.CodeFixes.xml
Microsoft.Extensions.Logging.Generators.resources.xml
Microsoft.Extensions.Logging.Generators.xml
)
diff --git a/src/SourceBuild/tarball/patches/arcade/0009-Disable-Workloads-WiX-dependency-in-source-build.patch b/src/SourceBuild/tarball/patches/arcade/0009-Disable-Workloads-WiX-dependency-in-source-build.patch
deleted file mode 100644
index 188312413..000000000
--- a/src/SourceBuild/tarball/patches/arcade/0009-Disable-Workloads-WiX-dependency-in-source-build.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Davis Goodin
-Date: Fri, 8 Oct 2021 16:15:42 -0700
-Subject: [PATCH] Disable Workloads WiX dependency in source-build
-
-This removes the prebuilt WiX dependency: https://github.com/dotnet/arcade/issues/8014
-
-The patch is temporary, pending upstream fix and dependency flow.
----
- .../src/{FileRow.cs => FileRow.wix.cs} | 0
- ...ifestMsi.cs => GenerateManifestMsi.wix.cs} | 0
- .../{GenerateMsi.cs => GenerateMsi.wix.cs} | 0
- ...erateMsiBase.cs => GenerateMsiBase.wix.cs} | 0
- ...erateVisualStudioMsiPackageProject.wix.cs} | 0
- ...cs => GenerateVisualStudioWorkload.wix.cs} | 0
- ...oadMsis.cs => GenerateWorkloadMsis.wix.cs} | 0
- ...rosoft.DotNet.Build.Tasks.Workloads.csproj | 23 ++++++++++++++++---
- ...{MsiProperties.cs => MsiProperties.wix.cs} | 0
- .../src/{MsiUtils.cs => MsiUtils.wix.cs} | 0
- ...elatedProduct.cs => RelatedProduct.wix.cs} | 0
- 11 files changed, 20 insertions(+), 3 deletions(-)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{FileRow.cs => FileRow.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{GenerateManifestMsi.cs => GenerateManifestMsi.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{GenerateMsi.cs => GenerateMsi.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{GenerateMsiBase.cs => GenerateMsiBase.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{GenerateVisualStudioMsiPackageProject.cs => GenerateVisualStudioMsiPackageProject.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{GenerateVisualStudioWorkload.cs => GenerateVisualStudioWorkload.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{GenerateWorkloadMsis.cs => GenerateWorkloadMsis.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{MsiProperties.cs => MsiProperties.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{MsiUtils.cs => MsiUtils.wix.cs} (100%)
- rename src/Microsoft.DotNet.Build.Tasks.Workloads/src/{RelatedProduct.cs => RelatedProduct.wix.cs} (100%)
-
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/FileRow.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/FileRow.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/FileRow.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/FileRow.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateManifestMsi.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateManifestMsi.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateManifestMsi.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateManifestMsi.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsi.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsi.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsi.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsi.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsiBase.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsiBase.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsiBase.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateMsiBase.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioMsiPackageProject.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioMsiPackageProject.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioMsiPackageProject.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioMsiPackageProject.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioWorkload.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioWorkload.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioWorkload.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateVisualStudioWorkload.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/GenerateWorkloadMsis.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj
-index 19cf67b5..2d02b7f4 100644
---- a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj
-+++ b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/Microsoft.DotNet.Build.Tasks.Workloads.csproj
-@@ -11,6 +11,16 @@
- $(NoWarn);NU5127
- false
- Microsoft.DotNet.Build.Tasks.Workloads
-+
-+
-+ true
-
-
-
-@@ -19,13 +29,16 @@
-
-
-
--
-
--
-+
-
-
-
--
-+
-+
-+
-+
-+
-
-
-
-@@ -48,6 +61,10 @@
-
-
-
-+
-+
-+
-+
-
-
-
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiProperties.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiProperties.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiProperties.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiProperties.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiUtils.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiUtils.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiUtils.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/MsiUtils.wix.cs
-diff --git a/src/Microsoft.DotNet.Build.Tasks.Workloads/src/RelatedProduct.cs b/src/Microsoft.DotNet.Build.Tasks.Workloads/src/RelatedProduct.wix.cs
-similarity index 100%
-rename from src/Microsoft.DotNet.Build.Tasks.Workloads/src/RelatedProduct.cs
-rename to src/Microsoft.DotNet.Build.Tasks.Workloads/src/RelatedProduct.wix.cs
diff --git a/src/SourceBuild/tarball/patches/roslyn-analyzers/0003-Upgrade-Newtonsoft.Json-to-13.0.1.patch b/src/SourceBuild/tarball/patches/roslyn-analyzers/0003-Upgrade-Newtonsoft.Json-to-13.0.1.patch
deleted file mode 100644
index 0d2ee7a96..000000000
--- a/src/SourceBuild/tarball/patches/roslyn-analyzers/0003-Upgrade-Newtonsoft.Json-to-13.0.1.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From fa733a5a26776c793477b4404bc670e5a8e94260 Mon Sep 17 00:00:00 2001
-From: dseefeld
-Date: Fri, 24 Sep 2021 17:58:20 +0000
-Subject: [PATCH 1/2] Upgrade Newtonsoft.Json to 13.0.1
-
----
- eng/Versions.props | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/eng/Versions.props b/eng/Versions.props
-index c418a1205..cb27118fb 100644
---- a/eng/Versions.props
-+++ b/eng/Versions.props
-@@ -67,7 +67,7 @@
- 6.0.0-preview.4.21253.7
- 10.1.0
- 16.1.8
-- 12.0.1
-+ 13.0.1
- 0.2.1
- 1.1.2
- 2.0.0-beta1.20074.1
---
-2.31.1
-
diff --git a/src/SourceBuild/tarball/patches/roslyn-analyzers/0004-Exclude-perfdiff-and-test-project-when-building-from.patch b/src/SourceBuild/tarball/patches/roslyn-analyzers/0004-Exclude-perfdiff-and-test-project-when-building-from.patch
deleted file mode 100644
index c23e3aaba..000000000
--- a/src/SourceBuild/tarball/patches/roslyn-analyzers/0004-Exclude-perfdiff-and-test-project-when-building-from.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0b40797eab5933ae0d9dd48e4b8b0ec03d712ca5 Mon Sep 17 00:00:00 2001
-From: dseefeld
-Date: Fri, 24 Sep 2021 17:58:56 +0000
-Subject: [PATCH 2/2] Exclude perfdiff and test project when building from
- source
-
----
- src/Tools/PerfDiff/PerfDiff.csproj | 1 +
- .../Tests/RulesetToEditorconfigConverter.UnitTests.csproj | 3 ++-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/Tools/PerfDiff/PerfDiff.csproj b/src/Tools/PerfDiff/PerfDiff.csproj
-index 7a829e12e..44279f1f9 100644
---- a/src/Tools/PerfDiff/PerfDiff.csproj
-+++ b/src/Tools/PerfDiff/PerfDiff.csproj
-@@ -4,6 +4,7 @@
- Exe
- net6.0
- true
-+ true
-
-
-
-diff --git a/src/Tools/RulesetToEditorconfigConverter/Tests/RulesetToEditorconfigConverter.UnitTests.csproj b/src/Tools/RulesetToEditorconfigConverter/Tests/RulesetToEditorconfigConverter.UnitTests.csproj
-index 027ca2b09..46fff2f30 100644
---- a/src/Tools/RulesetToEditorconfigConverter/Tests/RulesetToEditorconfigConverter.UnitTests.csproj
-+++ b/src/Tools/RulesetToEditorconfigConverter/Tests/RulesetToEditorconfigConverter.UnitTests.csproj
-@@ -4,8 +4,9 @@
- netcoreapp3.1;net472
- true
- false
-+ true
-
-
-
-
--
-\ No newline at end of file
-+
---
-2.31.1
-
diff --git a/src/redist/targets/BundledManifests.targets b/src/redist/targets/BundledManifests.targets
index a962a98f5..a42f2cd63 100644
--- a/src/redist/targets/BundledManifests.targets
+++ b/src/redist/targets/BundledManifests.targets
@@ -11,7 +11,7 @@
-
+
[%(Version)]
@@ -26,8 +26,7 @@
+ DependsOnTargets="LayoutManifestsForSDK;LayoutManifestsForMSI"/>
@@ -68,13 +67,15 @@
-
-
-
+ DestinationPath="%(BundledManifests.SdkFeatureBand)/$([MSBuild]::ValueOrDefault('%(WorkloadManifestId)', '').ToLower())"
+ RestoredNupkgContentPath="%(RestoredNupkgContentPath)"
+ WorkloadManifestId="%(WorkloadManifestId)"/>
+
+