diff --git a/eng/Publishing.props b/eng/Publishing.props
index 0d0ff3a2e39e1..9c2866118ede7 100644
--- a/eng/Publishing.props
+++ b/eng/Publishing.props
@@ -8,6 +8,15 @@
$(TargetArchitecture)
+
+
+
+
+
+
+
diff --git a/src/coreclr/crossgen-corelib.proj b/src/coreclr/crossgen-corelib.proj
index 714c1efafd55a..ed54fc3cf11fa 100644
--- a/src/coreclr/crossgen-corelib.proj
+++ b/src/coreclr/crossgen-corelib.proj
@@ -1,7 +1,7 @@
-
+
@@ -92,21 +92,13 @@
-
-
-
- %(Crossgen2.RootDir)/%(Crossgen2.Directory)
-
-
-
-
-
+
@@ -117,7 +109,7 @@
Text="Generating native image of System.Private.CoreLib for $(OSPlatformConfig). Logging to $(CrossGenCoreLibLog)" />
- $(DotNetCli) @(Crossgen2)
+ @(Crossgen2Files->Metadata('OutputPath')->WithMetadataValue('Filename','crossgen2')->WithMetadataValue('Extension','$(ExeSuffix)'))
$(CrossGenDllCmd) -o:$(CoreLibOutputPath)
$(CrossGenDllCmd) -r:$([MSBuild]::NormalizePath('$(BinDir)', 'IL', '*.dll'))
$(CrossGenDllCmd) --targetarch:$(TargetArchitecture)
diff --git a/src/coreclr/tools/aot/crossgen2/crossgen2_inbuild.csproj b/src/coreclr/tools/aot/crossgen2/crossgen2_inbuild.csproj
index bf997aa8ebb03..5e19365fad161 100644
--- a/src/coreclr/tools/aot/crossgen2/crossgen2_inbuild.csproj
+++ b/src/coreclr/tools/aot/crossgen2/crossgen2_inbuild.csproj
@@ -1,9 +1,20 @@
-
+
$(BuildArchitecture)
- $(RuntimeBinDir)/$(BuildArchitecture)/crossgen2/
- $(NetCoreAppToolCurrent)
- false
+ <_IsPublishing>true
+ $(NETCoreSdkRuntimeIdentifier)
+ $(RuntimeBinDir)$(BuildArchitecture)/crossgen2/
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
diff --git a/src/installer/pkg/Directory.Build.props b/src/installer/pkg/Directory.Build.props
deleted file mode 100644
index f89c7f4ff0f81..0000000000000
--- a/src/installer/pkg/Directory.Build.props
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- $(TargetArchitecture)
-
-
-
- $(Platform)
- x64
-
-
-
diff --git a/src/installer/pkg/Directory.Build.targets b/src/installer/pkg/Directory.Build.targets
deleted file mode 100644
index 9a502b2705e6e..0000000000000
--- a/src/installer/pkg/Directory.Build.targets
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/installer/pkg/projects/Directory.Build.props b/src/installer/pkg/projects/Directory.Build.props
index a07b360efc07a..947ea568dac2f 100644
--- a/src/installer/pkg/projects/Directory.Build.props
+++ b/src/installer/pkg/projects/Directory.Build.props
@@ -2,6 +2,7 @@
+ $(TargetArchitecture)
AnyCPU
true
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.Host.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.Host.sfxproj
new file mode 100644
index 0000000000000..6f7c19cda2dab
--- /dev/null
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.Host.sfxproj
@@ -0,0 +1,11 @@
+
+
+
+
+ $(RepoRoot)src/coreclr/tools/aot/crossgen2/crossgen2_inbuild.csproj
+ $(NETCoreSdkRuntimeIdentifier)
+ false
+
+
+
+
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.props b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.props
new file mode 100644
index 0000000000000..a400c42adf25c
--- /dev/null
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.props
@@ -0,0 +1,53 @@
+
+
+
+ true
+ ToolPack
+ $(SharedFrameworkName).Crossgen2
+ $(SharedFrameworkName).$(RuntimeIdentifier)
+ dotnet-crossgen2
+ crossgen2
+ false
+ true
+
+ false
+
+
+
+
+
+
+
+
+ <_CrossgenPublishFiles Include="@(_RawCrossgenPublishFiles->'%(OutputPath)')"
+ KeepMetadata="REMOVE_ALL" />
+
+
+
+
+
+
+
+
+
+
+
+
+ <_Crossgen2SymbolFilesToPackage Include="@(_CrossgenPublishFiles)" Condition="'%(Extension)' == '.pdb'" />
+
+ <_Crossgen2SymbolFilesToPackage Include="@(NativeRuntimeAsset->'$(CoreCLRArtifactsPdbDir)%(FileName).pdb')" Condition="'$(TargetOS)' == 'windows' and '%(FileName)' != 'crossgen2'" />
+ <_Crossgen2SymbolFilesToPackage Include="@(NativeRuntimeAsset->'$(CoreCLRArtifactsPath)%(FileName)%(Extension)$(SymbolsSuffix)')" Condition="'$(TargetOS)' != 'windows' and '%(FileName)' != 'crossgen2'" />
+ <_Crossgen2SymbolFilesToPackage Remove="@(_Crossgen2SymbolFilesToPackage)" Condition="!Exists('%(Identity)')" />
+
+ <_SymbolFilesToPackage Include="@(_Crossgen2SymbolFilesToPackage)" TargetPath="tools/" />
+
+
+
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj
index d375b395092e8..97e6737c777ac 100644
--- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj
@@ -2,48 +2,14 @@
-
- true
- ToolPack
- $(SharedFrameworkName).Crossgen2
- $(SharedFrameworkName).$(RuntimeIdentifier)
- dotnet-crossgen2
- crossgen2
- false
- true
-
- false
+ $(RepoRoot)src/coreclr/tools/aot/crossgen2/crossgen2_publish.csproj
-
-
-
-
-
-
- <_CrossgenPublishFiles Include="@(_RawCrossgenPublishFiles->'%(OutputPath)')"
- KeepMetadata="REMOVE_ALL" />
-
-
-
-
-
-
-
-
-
+
@@ -52,22 +18,4 @@
-
-
- unix
- win
- $(TargetOSComponent)-$(TargetArchitecture)
-
-
-
-
- <_Crossgen2SymbolFilesToPackage Include="@(_CrossgenPublishFiles)" Condition="'%(Extension)' == '.pdb'" />
-
- <_Crossgen2SymbolFilesToPackage Include="@(NativeRuntimeAsset->'$(CoreCLRArtifactsPdbDir)%(FileName).pdb')" Condition="'$(TargetOS)' == 'windows' and '%(FileName)' != 'crossgen2'" />
- <_Crossgen2SymbolFilesToPackage Include="@(NativeRuntimeAsset->'$(CoreCLRArtifactsPath)%(FileName)%(Extension)$(SymbolsSuffix)')" Condition="'$(TargetOS)' != 'windows' and '%(FileName)' != 'crossgen2'" />
- <_Crossgen2SymbolFilesToPackage Remove="@(_Crossgen2SymbolFilesToPackage)" Condition="!Exists('%(Identity)')" />
-
- <_SymbolFilesToPackage Include="@(_Crossgen2SymbolFilesToPackage)" TargetPath="tools/" />
-
-
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/ReadyToRun.targets b/src/installer/pkg/sfx/Microsoft.NETCore.App/ReadyToRun.targets
index 09730ed226502..1e27f828c5bf5 100644
--- a/src/installer/pkg/sfx/Microsoft.NETCore.App/ReadyToRun.targets
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/ReadyToRun.targets
@@ -2,16 +2,14 @@
1
- $([MSBuild]::NormalizePath('$(Crossgen2InBuildDir)', 'crossgen2.dll'))
- $(DotNetTool)
+ $([MSBuild]::NormalizePath('$(Crossgen2InBuildDir)', 'crossgen2$(ExeSuffix)'))
-
\ No newline at end of file
+
diff --git a/src/installer/pkg/sfx/installers/dotnet-host.proj b/src/installer/pkg/sfx/installers/dotnet-host.proj
index f6b39af76f7c8..c4a61a297595c 100644
--- a/src/installer/pkg/sfx/installers/dotnet-host.proj
+++ b/src/installer/pkg/sfx/installers/dotnet-host.proj
@@ -20,7 +20,7 @@
osx_scripts/host
The .NET Shared Host.
- dotnet-host $(MajorVersion).$(MinorVersion) $(Platform)
+ dotnet-host $(MajorVersion).$(MinorVersion) $(TargetArchitecture)