See https://aka.ms/dotnet-discord in the #monovm channel for our primary community location.
heyimponyo
egtfkudx
heyimponyo
tregkuw
./configure --disable-boehm --disable-llvm --disable-nls --disable-btls --disable-btls-lib --host=aarch64-apple-darwin20.0.0 --target=aarch64-apple-darwin20.0.0
Microsoft.NET.Sdk.Worker
which actually requires the aspnet runtime?
I embed a cut down copy of Mono into our app, the Windows version of which targets 4.7.2. I am upgrading to Mono 6.12.0. Previoulsy I had always loaded mscorlib
from lib/mono/4.5
and all was good.
So I thought it might be better to load from lib/mono/4.7.2-api
but the mscorlib
there is invalid - maybe its just a reference assembly. Also Mono seems to insist on trying to load from the 4.5 path and fails if it is not present.
So I am a bit confused as to what the purpose of the lib/mono/4.x.x-api
folders is. I need to load netstandard.dll
from the Facades
folder and presumed I needed to load it from the 4.7.2-api
path but I am beginning to think that I should stick with the 4.5
path.
I just want to ensure that I have compatability with 4.7.2.
4.5
folder and Facades
subfolder is the correct one to load from in your case as it contains the "latest" binaries (we couldn't rename the folder for various reasons)
@akoeplinger On macOS and Azure dll that I think is targeting netstandard 2 has a dependency on system.Runtime.InteropServices.RuntimeInformation.dll
. The RuntimeInformation
class was added in 4.7.1 as part of mscorlib
.
I presume the dll is added as a dependency to support targets earlier than that. Mono wants to load this dll and if I manually copy it into the app folder the app runs ok. But from reading what you said here https://github.com/dotnet/runtime/issues/17471#issuecomment-272431695 it looks as if that dll maybe Windows specific.
It maybe that the windows specific code in that dll won’t be called, or maybe it will under some conditions. Will Mono try and resolve the RuntimeInformation
type from its own mscorlib
implementation or will it use the dll definition?
Looking at the nuget package info for the dll I can see this
"runtimeTargets": {
"runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll": {
"assetType": "runtime",
"rid": "win"
}
}
But as that is netstandard1.1 I don’t know if it wouyld be worth trying to install it instead.