Make Runtime RID-agnostic and simplify infra#165
Conversation
* Reimplement RID-specific Runtime parts to be RID-independent * Fix wrong data model for Native LONG types * Fix bug in SharpGen MSBuild targets (it was impossible to override `SharpGenSdkAssembly` path) * Improve MSBuild scripts * Update dependencies * Use centralized dependencies version management * Make CI builds deterministic * Improved test and coverage scripts * Migrate to `net472;netcoreapp2.1` * Drop Refs since no RID-specific code is left in Runtime * Fine-tune Runtime dependency graph * Workaround MSBuild Core not loading `Microsoft.Win32.Registry` implementation dll by building RuntimeIdentifier-specific assemblies (`win;unix`).
jkoritzinsky
left a comment
There was a problem hiding this comment.
Other than my one comment, looks good to me!
|
@jkoritzinsky I've confirmed that new Found issues with many |
|
@jkoritzinsky is there anything else you want done before merging this PR? |
|
Nope! I just have been really busy and haven’t had a chance to merge this in. |
|
Actually, can you fix the CodeFactor check? |
|
@jkoritzinsky I'm not proficient with PowerShell (I don't know correct |
|
Ok those are fine. I’ll merge this in tomorrow when I’m at my computer. |
nintandnuint, used in newNativeLong/NativeULongimplementationSharpGenSdkAssemblypath)net472;netcoreapp2.1(MSBuild requiresnet472;netcoreapp2.0, .NET Core 2.0 is EOL, 2.1 is the closest LTS)Microsoft.Win32.Registryimplementation dll (I suspect bug in MSBuild assembly load context override) by building RuntimeIdentifier-specific assemblies (win;unix)Note, that I'm not sure
nintandnuintwork on all .NET platforms supported by Runtime, it would be great to have this confirmed by someone more knowledgeable than me. Roslyn specs don't detail on that either.Theoretically it should work, but I can't test it at the moment (still downloading Windows 8 RTM image 😄).Works on .NET Framework 4.5 inbox on Windows 8 RTM x64.Code Coverage is still here by default (
test.ps1), but the results are empty on CI.