monojenkins 8199a27e28 [2019-12] Force Python 3.x from env in shebang lines (#19423) %!s(int64=5) %!d(string=hai) anos
..
System.Private.CoreLib 2cc08cae73 [reflection] Fix check for Type.FullName to match CoreCLR (#18390) %!s(int64=6) %!d(string=hai) anos
corerun c13f36bdfe fix netcore build with cygwin (#17361) %!s(int64=6) %!d(string=hai) anos
gen-xunit-runner 1fb3b3b87d [netcore] Add System.Reflection.Emit support. (#13613) %!s(int64=6) %!d(string=hai) anos
sample 39ff579432 [netcore] Disable annoying SourceLink warrnings (#17055) %!s(int64=6) %!d(string=hai) anos
tools 9a18b6fd6f [netcore] Improve Jitdiff tool (#17960) %!s(int64=6) %!d(string=hai) anos
.gitignore 9f0d493eea [netcore] Replace dl-test-assets.py with msbuild download (#15883) %!s(int64=6) %!d(string=hai) anos
CoreFX.issues.rsp a6db160596 [master] Update dependencies from dotnet/arcade dotnet/core-setup dotnet/corefx (#17690) %!s(int64=6) %!d(string=hai) anos
CoreFX.issues_linux.rsp 2ccd6122bd [netcore] Disable a test which fails on the interpreter %!s(int64=6) %!d(string=hai) anos
CoreFX.issues_linux_arm64.rsp 122494330d [netcore] Allow different enums as return type in CreateDelega… (#15787) %!s(int64=6) %!d(string=hai) anos
CoreFX.issues_mac.rsp a7287bdae5 [master] Update dependencies from dotnet/arcade dotnet/core-setup dotnet/corefx (#17458) %!s(int64=6) %!d(string=hai) anos
CoreFX.issues_windows.rsp 1d324e617a Fix DynamicMethodToString.ToStringTest %!s(int64=6) %!d(string=hai) anos
Directory.Build.props 5a21eb4288 Fix arcade stuff %!s(int64=6) %!d(string=hai) anos
Directory.Build.targets 49dc99be58 [netcore] Add more Arcade magic for signing %!s(int64=6) %!d(string=hai) anos
Makefile 8199a27e28 [2019-12] Force Python 3.x from env in shebang lines (#19423) %!s(int64=5) %!d(string=hai) anos
NuGet.config 5692180ea2 [netcore] Makefile clean up (#16630) %!s(int64=6) %!d(string=hai) anos
README.md dcfec3966c Enable and document debug with sdb with netcore config. %!s(int64=6) %!d(string=hai) anos
build.cmd c0e237b734 Mono NetCore Windows only build/test. (#17646) %!s(int64=6) %!d(string=hai) anos
build.ps1 bda239f44c Switch away from Start-Process, Wait-Process in build.ps1. (#17730) %!s(int64=6) %!d(string=hai) anos
build.sh b61263e994 [llvm] redirect from mono llvm-mirror fork to dotnet llvm-project fork %!s(int64=6) %!d(string=hai) anos
build.targets c0e237b734 Mono NetCore Windows only build/test. (#17646) %!s(int64=6) %!d(string=hai) anos
corefx-restore.csproj a6db160596 [master] Update dependencies from dotnet/arcade dotnet/core-setup dotnet/corefx (#17690) %!s(int64=6) %!d(string=hai) anos
corefx-tests-restore.proj 9f0d493eea [netcore] Replace dl-test-assets.py with msbuild download (#15883) %!s(int64=6) %!d(string=hai) anos
init-tools.ps1 d3101fbaeb [netcore] Download and use local .NET Core SDK (#14696) %!s(int64=6) %!d(string=hai) anos
init-tools.sh 5692180ea2 [netcore] Makefile clean up (#16630) %!s(int64=6) %!d(string=hai) anos
metapackage-llvm.nuspec 6bc988b087 [netcore] Move to new arcade post build using yaml stages (#16966) %!s(int64=6) %!d(string=hai) anos
metapackage.nuspec 6bc988b087 [netcore] Move to new arcade post build using yaml stages (#16966) %!s(int64=6) %!d(string=hai) anos
roslyn-restore.csproj 5a21eb4288 Fix arcade stuff %!s(int64=6) %!d(string=hai) anos
run-tests-corefx.ps1 c0e237b734 Mono NetCore Windows only build/test. (#17646) %!s(int64=6) %!d(string=hai) anos
runtime-llvm.nuspec 6bc988b087 [netcore] Move to new arcade post build using yaml stages (#16966) %!s(int64=6) %!d(string=hai) anos
runtime.nuspec 6bc988b087 [netcore] Move to new arcade post build using yaml stages (#16966) %!s(int64=6) %!d(string=hai) anos
xunit-summary.py 5dc4a86d9d [netcore] Consolidate running tests between AzDO pipeline and Makefile (#16348) %!s(int64=6) %!d(string=hai) anos

README.md

Introduction

Netcore support in mono consists of two parts:

  • The runtime compiled in netcore mode
  • An implementation of System.Private.CoreLib

Building

Everything below should be executed with the current dir set to 'netcore'.

For bootstrap, do

./build.sh

To rebuild the runtime, do

make runtime

To rebuild System.Private.CoreLib, do

make bcl

These two targets will copy the results into shared/Microsoft.NETCore.App/.

Running with netcore

Running through the 'dotnet' tool.

Run dotnet publish -c Release -r osx-x64 to create a published version of the app. Copy

into

bin/netcoreapp3.0/osx-x64/publish/libcoreclr.dylib``` Copy

to

bin/netcoreapp3.0/osx-x64/publish```

Running with the mono runtime executable

DYLD_LIBRARY_PATH=shared/Microsoft.NETCore.App/ MONO_PATH=shared/Microsoft.NETCore.App/ ../mono/mini/mono-sgen --assembly-loader=strict sample/HelloWorld/bin/netcoreapp3.0/HelloWorld.dll

How to set up managed debugging

Change the DebugType to full in your .csproj

<DebugType>full</DebugType>

Enable debugger agent using the environment variable MONO_ENV_OPTIONS

export MONO_ENV_OPTIONS="--debug --debugger-agent=transport=dt_socket,address=127.0.0.1:1235,server=y,suspend=y"

Run

./dotnet --fx-version "5.0.0-alpha1.19409.2" sample/HelloWorld/bin/netcoreapp3.0/HelloWorld.dll