{"action":"created","issue":{"url":"https://api.github.com/repos/nunit/nunit/issues/2237","repository_url":"https://api.github.com/repos/nunit/nunit","labels_url":"https://api.github.com/repos/nunit/nunit/issues/2237/labels{/name}","comments_url":"https://api.github.com/repos/nunit/nunit/issues/2237/comments","events_url":"https://api.github.com/repos/nunit/nunit/issues/2237/events","html_url":"https://github.com/nunit/nunit/issues/2237","id":234893294,"number":2237,"title":"System.Runtime.Loader not available for iOS/Android","user":{"login":"ChrisMaddock","id":4837132,"avatar_url":"https://avatars0.githubusercontent.com/u/4837132?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisMaddock","html_url":"https://github.com/ChrisMaddock","followers_url":"https://api.github.com/users/ChrisMaddock/followers","following_url":"https://api.github.com/users/ChrisMaddock/following{/other_user}","gists_url":"https://api.github.com/users/ChrisMaddock/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisMaddock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisMaddock/subscriptions","organizations_url":"https://api.github.com/users/ChrisMaddock/orgs","repos_url":"https://api.github.com/users/ChrisMaddock/repos","events_url":"https://api.github.com/users/ChrisMaddock/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisMaddock/received_events","type":"User","site_admin":false},"labels":[{"id":78332245,"url":"https://api.github.com/repos/nunit/nunit/labels/confirm","name":"confirm","color":"eb6420","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-06-09T17:37:04Z","updated_at":"2017-06-14T19:39:20Z","closed_at":null,"body":"I'm not 100% clear on the latest NuGet behaviour - so would appreciate a second opinion on the below. This is what I think is going on in https://github.com/nunit/nunit.xamarin/issues/87.\r\n\r\nOut .NET Standard 1.6 build relies on System.Runtime.Loader 4.3.0. If you unzip that NuGet package, the structure looks like this:\r\n\r\n```\r\nlib -> netstandard1.5    -> System.Runtime.Loader.dll\r\n          net462         -> _._\r\n          MonoAndroid10  -> _._\r\n          MonoTouch10    -> _._\r\n```\r\n\r\nWhen this package is installed into an Android project (and I assume .NET Framework 4.6.2, or iOS also) - NuGet resolves to look in the `MonoAndroid10` directory, and finds the `_._` (and fails). As I understand (although I can't find anything official on the matter) - this is used as a placeholder, when an API isn't supported on a certain platform yet. See below:\r\n\r\nhttps://github.com/dotnet/corefx/issues/8965#issuecomment-287138692\r\nhttps://github.com/dotnet/corefx/issues/11023#issuecomment-244131549\r\n\r\nIf I'm understanding the above correctly, then our .NET Standard 1.6 NuGet package won't actually work for iOS, Android, or .NET 4.6.2. I'd assume we're only just discovering this as .NET Core is unaffected, which I imagine is the main use of the .NET Standard builds.\r\n\r\nAs a potential solution, perhaps we could package the NET Standard 1.3 build of NUnit (which _doesn't_ rely on System.Runtime.Loader) under a `monoandroid` directory in our NuGet package. (And of course additionally for the remaining affected frameworks.) Project.json unfortunately seems to ignore such subdirectories (unlike packages.config, which recognises them...) - but I wonder if that's the same issue we saw in https://github.com/nunit/nunit/issues/2165, which would be fixed by adding an empty dependency group for MonoAndroid etc. Not sure.\r\n\r\nIt's only the latest Android framework which pulls in .NET Standard I believe, which I imagine is why we didn't see this issue when Rob first created the .NET Standard 1.6 build. Unfortunately, unless someone knows a way to force project.json to look in a particular subdirectory for it's dependency, I think this could potentially be critical for both NUnit and nunit.xamarin."},"comment":{"url":"https://api.github.com/repos/nunit/nunit/issues/comments/308536456","html_url":"https://github.com/nunit/nunit/issues/2237#issuecomment-308536456","issue_url":"https://api.github.com/repos/nunit/nunit/issues/2237","id":308536456,"user":{"login":"jalbertSyncroTech","id":10836879,"avatar_url":"https://avatars0.githubusercontent.com/u/10836879?v=3","gravatar_id":"","url":"https://api.github.com/users/jalbertSyncroTech","html_url":"https://github.com/jalbertSyncroTech","followers_url":"https://api.github.com/users/jalbertSyncroTech/followers","following_url":"https://api.github.com/users/jalbertSyncroTech/following{/other_user}","gists_url":"https://api.github.com/users/jalbertSyncroTech/gists{/gist_id}","starred_url":"https://api.github.com/users/jalbertSyncroTech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jalbertSyncroTech/subscriptions","organizations_url":"https://api.github.com/users/jalbertSyncroTech/orgs","repos_url":"https://api.github.com/users/jalbertSyncroTech/repos","events_url":"https://api.github.com/users/jalbertSyncroTech/events{/privacy}","received_events_url":"https://api.github.com/users/jalbertSyncroTech/received_events","type":"User","site_admin":false},"created_at":"2017-06-14T19:39:20Z","updated_at":"2017-06-14T19:39:20Z","body":"I was able to get past the compile error by removing m ExcludeAssets work around, but this triggers the runtime error I had been getting previously with v3.6.1 without the work-around:\r\n`06-14 15:35:46.296 F/monodroid-assembly( 3201): Could not load assembly 'System.Runtime.Loader' during startup registration.`\r\n`06-14 15:35:46.296 F/monodroid-assembly( 3201): This might be due to an invalid debug installation.`\r\n`06-14 15:35:46.296 F/monodroid-assembly( 3201): A common cause is to 'adb install' the app directly instead of doing from the IDE.`\r\n"}}
{"actor":{"display_login":"jalbertSyncroTech"}}