Skip to content

Commit

Permalink
Ship BuildXL assemblies in our VSIX and not our NuGet packages (dotne…
Browse files Browse the repository at this point in the history
…t#9185)

* Ship BuildXL assemblies in our VSIX

* Specify 3rd-party cert for 3rd-party file

* Remove BuildXL NuGet dependencies

Because BuildXL is not pushed to nuget.org, it's an inconvenient
dependency. But it's not required for API completion so mark it
as a private dependency--it can be satisified by the VS install.
  • Loading branch information
rainersigwald authored Aug 30, 2023
1 parent 462a917 commit 0974273
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 4 deletions.
6 changes: 4 additions & 2 deletions eng/Signing.props
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<Project>
<ItemGroup>
<ItemsToSign Include="$(VisualStudioSetupInsertionPath)Microsoft.Build.UnGAC.exe" />

<FileSignInfo Include="RuntimeContracts.dll" CertificateName="3PartySHA2" />
</ItemGroup>

<PropertyGroup>
<UseDotNetCertificate>true</UseDotNetCertificate>
</PropertyGroup>
</Project>
</Project>
2 changes: 1 addition & 1 deletion src/Build/Microsoft.Build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

<PackageReference Include="Microsoft.IO.Redist" Condition="'$(FeatureMSIORedist)' == 'true'" />

<PackageReference Include="Microsoft.BuildXL.Processes" Condition="'$(FeatureReportFileAccesses)' == 'true'" />
<PackageReference Include="Microsoft.BuildXL.Processes" Condition="'$(FeatureReportFileAccesses)' == 'true'" PrivateAssets="all" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and '$(DotNetBuildFromSource)' != 'true'">
Expand Down
1 change: 1 addition & 0 deletions src/MSBuild/MSBuild.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.BuildXL.Processes" Condition="'$(FeatureReportFileAccesses)' == 'true'" PrivateAssets="all" />
<PackageReference Include="Microsoft.IO.Redist" Condition="'$(FeatureMSIORedist)' == 'true'" />
<PackageReference Include="System.Configuration.ConfigurationManager" />
</ItemGroup>
Expand Down
12 changes: 12 additions & 0 deletions src/MSBuild/app.amd64.config
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,18 @@
</dependentAssembly>

<!-- Redirects for assemblies redistributed by MSBuild (in the .vsix). -->
<dependentAssembly>
<assemblyIdentity name="BuildXL.Native" publicKeyToken="6212d9137135ce5d" culture="neutral" />
<codeBase version="1.0.0.0" href="..\BuildXL.Native.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="BuildXL.Processes" publicKeyToken="6212d9137135ce5d" culture="neutral" />
<codeBase version="1.0.0.0" href="..\BuildXL.Processes.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="BuildXL.Utilities.Core" publicKeyToken="6212d9137135ce5d" culture="neutral" />
<codeBase version="1.0.0.0" href="..\BuildXL.Utilities.Core.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
Expand Down
13 changes: 12 additions & 1 deletion src/Package/MSBuild.VSSetup/files.swr
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,12 @@ folder InstallDir:\MSBuild\Current\Bin
file source=$(X86BinPath)Microsoft.IO.Redist.dll vs.file.ngenApplications="[installDir]\Common7\IDE\vsn.exe" vs.file.ngenApplications="[installDir]\MSBuild\Current\Bin\MSBuild.exe" vs.file.ngenArchitecture=all vs.file.ngenPriority=1
file source=$(X86BinPath)MSBuild.exe vs.file.ngenArchitecture=x86 vs.file.ngenPriority=1
file source=$(X86BinPath)MSBuild.exe.config
file source=$(TaskHostBinPath)MSBuildTaskHost.exe
file source=$(TaskHostBinPath)MSBuildTaskHost.exe
file source=$(TaskHostBinPath)MSBuildTaskHost.exe.config
file source=$(X86BinPath)BuildXL.Native.dll
file source=$(X86BinPath)BuildXL.Processes.dll
file source=$(X86BinPath)BuildXL.Utilities.Core.dll
file source=$(X86BinPath)RuntimeContracts.dll
file source=$(X86BinPath)System.Buffers.dll vs.file.ngenApplications="[installDir]\MSBuild\Current\Bin\MSBuild.exe" vs.file.ngenArchitecture=all vs.file.ngenPriority=1
file source=$(X86BinPath)System.Memory.dll vs.file.ngenApplications="[installDir]\MSBuild\Current\Bin\MSBuild.exe" vs.file.ngenArchitecture=all vs.file.ngenPriority=1
file source=$(X86BinPath)System.Reflection.Metadata.dll vs.file.ngenApplications="[installDir]\MSBuild\Current\Bin\MSBuild.exe" vs.file.ngenArchitecture=all vs.file.ngenPriority=1
Expand Down Expand Up @@ -313,6 +317,13 @@ folder InstallDir:\MSBuild\Current\Bin\amd64\zh-Hant
file source=$(X64BinPath)zh-Hant\MSBuild.resources.dll
file source=$(TaskHostX64BinPath)zh-Hant\MSBuildTaskHost.resources.dll

folder InstallDir:\MSBuild\Current\Bin\x86
file source=$(X86BinPath)x86\DetoursServices.dll

folder InstallDir:\MSBuild\Current\Bin\x64
file source=$(X86BinPath)x64\DetoursServices.dll
file source=$(X86BinPath)x64\BuildXLNatives.dll

folder InstallDir:\Common7\IDE\CommonExtensions\MSBuild
file source=$(SourceDir)Package\MSBuild.VSSetup\MSBuild.clientenabledpkg
file source=$(SourceDir)Framework\Microsoft.Build.Framework.pkgdef
Expand Down

0 comments on commit 0974273

Please sign in to comment.