Skip to content
This repository was archived by the owner on Feb 25, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion eng/Signing.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<_MonoBinaryToExcludeFromSigning Include="I18N.Other.dll" />
<_MonoBinaryToExcludeFromSigning Include="I18N.Rare.dll" />
<_MonoBinaryToExcludeFromSigning Include="I18N.West.dll" />
<_MonoBinaryToExcludeFromSigning Include="illink.dll" />
<_MonoBinaryToExcludeFromSigning Include="monolinker.exe" />
<_MonoBinaryToExcludeFromSigning Include="Microsoft.CSharp.dll" />
<_MonoBinaryToExcludeFromSigning Include="Microsoft.Win32.Primitives.dll" />
<_MonoBinaryToExcludeFromSigning Include="Microsoft.Win32.Registry.AccessControl.dll" />
Expand Down Expand Up @@ -193,6 +193,9 @@
<_MonoBinaryToExcludeFromSigning Include="System.Xml.XPath.XDocument.dll" />
<_MonoBinaryToExcludeFromSigning Include="System.Xml.XPath.XmlDocument.dll" />
<_MonoBinaryToExcludeFromSigning Include="System.Xml.Xsl.Primitives.dll" />
<_MonoBinaryToExcludeFromSigning Include="WebAssembly.Bindings.dll" />
<_MonoBinaryToExcludeFromSigning Include="WebAssembly.Net.Http.dll" />
<_MonoBinaryToExcludeFromSigning Include="WebAssembly.Net.WebSockets.dll" />

<FileSignInfo Include="@(_MonoBinaryToExcludeFromSigning)" CertificateName="None" />
<SignValidationExclusionList Include="@(_MonoBinaryToExcludeFromSigning)" />
Expand Down
4 changes: 4 additions & 0 deletions src/Microsoft.AspNetCore.Blazor.Mono/HowToUpgradeMono.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@

* In Blazor's `src\mono\incoming\wasm` dir, replace `mono.wasm` and `mono.js` with the new files from Mono's `builds\release` dir
* In Blazor's `src\mono\incoming\bcl`, delete all the `.dll` files (including from the `Facades` subdirectory), and copy in all the new `.dll` files from Mono's `wasm-bcl\wasm` dir. **Note:** We *only* need the `.dll` files, so don't include `.pdb`/`.cs`/`.tmp`/`.stamp` or others. Also you can omit `nunitlite.dll` - we don't need that either.
* In Blazor's `src\mono\incoming\framework`, replace the following files with equivalents from Mono's `framework` dir:
* `WebAssembly.Bindings.dll`
* `WebAssembly.Net.Http.dll`
* `WebAssembly.Net.WebSockets.dll`

The net effect is that you're replacing everything with the newer versions, including adding any new `.dll` files and removing any older `.dll` files that are no longer involved.

Expand Down
18 changes: 6 additions & 12 deletions src/Microsoft.AspNetCore.Blazor.Mono/HowToUpgradeMonoLinker.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,10 @@
# Upgrading Mono Linker

* Download the latest build from CI on dnceng
* Go to build pipeline on dnceng internal
* Read the build logs for the latest good build to find the URL of the last-pushed package, e.g., https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/illink.tasks/0.1.6-prerelease.19263.1/illink.tasks.0.1.6-prerelease.19263.1.nupkg and download it
* Unzip the nupkg
* Open its `tools\netcoreapp2.0` directory
* Copy the following to `(blazorroot)/mono/tools/binaries/illink`:
* `illink.dll`
* `Mono.Cecil.dll`
* `Mono.Cecil.Mdb.dll`
* `Mono.Cecil.Pdb.dll`
* First upgrade to whatever version of Mono you want to use as per `HowToUpgradeMono.md`
* In the Mono build you downloaded and extracted, find the `wasm-bcl\wasm_tools` dir. From this directory, copy the following to `(blazorroot)/src/Microsoft.AspNetCore.Blazor.Mono/tools/binaries/monolinker`:
* `monolinker.exe`
* `Mono.Cecil.dll`

Presumably you should also copy any other new dependencies it has, though it's not necessary to copy `NuGet.*.dll` or `Newtonsoft.Json.dll` or the `runtimes` subdirectory (since we execute it as a framework-dependent app).
That should be all you need. Note that the target dir also contains `monolinker.runtimeconfig.json`, which is necessary for `dotnet monolinker.exe` to work.

Note that `(blazorroot)/mono/tools/binaries/illink` also contains `illink.runtimeconfig.json`, which is necessary for `dotnet illink.dll` to work.
Now commit this with a message similar to `Upgrade Mono linker binaries to <their-commit-sha>`.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
<ItemGroup>
<WasmItemsToCopy Include="$(MonoIncomingDir)wasm\**" />
<BclItemsToCopy Include="$(MonoIncomingDir)bcl\**" />
<FrameworkItemsToCopy Include="$(MonoIncomingDir)framework\**" />
<BclWipeSpecFiles Include="$(BclWipeSpecDir)**" />
</ItemGroup>

Expand All @@ -42,8 +43,12 @@
<Copy SourceFiles="@(BclItemsToCopy)" DestinationFiles="@(BclItemsToCopy->'$(MonoDistDir)bcl\%(RecursiveDir)%(FileName)%(Extension)')">
<Output TaskParameter="CopiedFiles" ItemName="_BclFilesCopied" />
</Copy>
<Copy SourceFiles="@(FrameworkItemsToCopy)" DestinationFiles="@(FrameworkItemsToCopy->'$(MonoDistDir)framework\%(RecursiveDir)%(FileName)%(Extension)')">
<Output TaskParameter="CopiedFiles" ItemName="_FrameworkFilesCopied" />
</Copy>
<Exec Command="&quot;$(DotNetTool)&quot; &quot;$(BlazorBuildToolsExe)&quot; ilwipe -s &quot;$(BclWipeSpecDir.TrimEnd('\'))&quot; -i &quot;$(MonoIncomingDir)bcl&quot; -o &quot;$(MonoDistDir)bcl&quot;" />
<Touch Files="@(_BclFilesCopied)" /> <!-- Make incremental builds work -->
<Touch Files="@(_FrameworkFilesCopied)" /> <!-- Make incremental builds work -->
</Target>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<file src="..\..\THIRD-PARTY-NOTICES.txt" />
<file src="build\**" target="build" />
<file src="dist\**\*" target="tools\mono" />
<file src="tools\binaries\illink\**\*.*" target="tools\illink" />
<file src="tools\binaries\monolinker\**\*.*" target="tools\monolinker" />
<file src="$PackageIcon$" target="" />
</files>
</package>
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
<Project>
<PropertyGroup>
<BlazorMonoRuntimeBasePath>$(MSBuildThisFileDirectory)../../</BlazorMonoRuntimeBasePath>
<MonoLinkerPath>$(BlazorMonoRuntimeBasePath)tools/illink/illink.dll</MonoLinkerPath>
<MonoLinkerPath>$(BlazorMonoRuntimeBasePath)tools/monolinker/monolinker.exe</MonoLinkerPath>
<MonoBaseClassLibraryPath>$(BlazorMonoRuntimeBasePath)tools/mono/bcl/</MonoBaseClassLibraryPath>
<MonoBaseClassLibraryFacadesPath>$(BlazorMonoRuntimeBasePath)tools/mono/bcl/Facades/</MonoBaseClassLibraryFacadesPath>
<MonoWasmRuntimePath>$(BlazorMonoRuntimeBasePath)tools/mono/wasm/</MonoWasmRuntimePath>
<MonoWasmFrameworkPath>$(BlazorMonoRuntimeBasePath)tools/mono/framework/</MonoWasmFrameworkPath>
</PropertyGroup>
</Project>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/I18N.CJK.dll
Binary file not shown.
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/I18N.Other.dll
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/I18N.Rare.dll
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/I18N.West.dll
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/I18N.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/System.Xml.dll
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/System.dll
Binary file not shown.
Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/bcl/mscorlib.dll
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion src/Microsoft.AspNetCore.Blazor.Mono/incoming/wasm/mono.js

Large diffs are not rendered by default.

Binary file modified src/Microsoft.AspNetCore.Blazor.Mono/incoming/wasm/mono.wasm
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"runtimeOptions": {
"tfm": "netcoreapp2.0",
"tfm": "netcoreapp3.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "2.0.0"
"version": "3.0.0"
},
"rollForwardOnNoCandidateFx": 2
}
Expand Down