-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed as not planned
Labels
Area: BuildCheckneeds-designRequires discussion with the dev team before attempting a fix.Requires discussion with the dev team before attempting a fix.triaged
Description
Currently, MSBuild running on .NET Core cannot run tasks compiled against the full desktop .NET environment (because those assemblies can't be loaded in-proc in a .NET Core process). This might be overly limiting, especially considering existing NuGet packages that are built targeting MSBuild 12 or 14.
There's some precedent for this: full-framework MSBuild ships with MSBuildTaskHost.exe, which is used to run tasks that require a different runtime (in practice, this means that they were compiled against .NET Framework version 2 instead of 4.x). There's logic in NodeProviderOutOfProcTaskHost to identify the the right executable to run a task that could potentially be extended.
Further considerations:
- Is this worth the effort?
- Will there be communication-protocol problems between nodes running on different runtimes?
- Should probably allow Mono, .NET Core, and Full Framework options (though assemblies that target netstandard should work in Mono and desktop).
- what if different runtimes have different dependency resolution schemes (e.g. deps.json)
summersk and fowl2Nirmal4G
Metadata
Metadata
Assignees
Labels
Area: BuildCheckneeds-designRequires discussion with the dev team before attempting a fix.Requires discussion with the dev team before attempting a fix.triaged