Skip to content

.NET Framework TaskHost #711

@rainersigwald

Description

@rainersigwald

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions