You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a world where MSBuild isn't installed and potentially comes in mutiple flavors (desktop/full framework, .NET Core, Mono), what is required to build this project?
At the moment, .NET Core MSBuild can't build a project that targets the full framework. Reasons this isn't trivial:
Can't use MSBuild functionality that's tied to the desktop CLR, like ResolveAssemblyReferences, binding redirects, and some toolset/helper things
A desire to make netcore MSBuild work the same everywhere--for example disallowing registry operations, even though they could work (on Windows)
At the same time, the dotnet CLI can currently build applications that target the full framework, and it would be good to preserve that behavior.
One possibility is to always use the full framework MSBuild on Windows--that code will handle building projects that target full framework (as it always has) and .NET Core (because there are no .NET Core-exclusive features of MSBuild).
The text was updated successfully, but these errors were encountered:
Short term, due to VS release time constraints: the easiest thing (for MSBuild at least) is for dotnet CLI and VS to use the full framework MSBuild on Windows. This means they would both agree, and users would not get different builds from VS and command line (as long as CLI users match the msbuild command line to the configuration that VS does).
Long term, we could do work towards 1 build engine: beefing up .Net Core msbuild until it is good enough in terms of feature parity. Things like switching to Roslyn for inline tasks and converting many ifdefs to runtime checks.
Given a project that
In a world where MSBuild isn't installed and potentially comes in mutiple flavors (desktop/full framework, .NET Core, Mono), what is required to build this project?
At the moment, .NET Core MSBuild can't build a project that targets the full framework. Reasons this isn't trivial:
At the same time, the
dotnet
CLI can currently build applications that target the full framework, and it would be good to preserve that behavior.One possibility is to always use the full framework MSBuild on Windows--that code will handle building projects that target full framework (as it always has) and .NET Core (because there are no .NET Core-exclusive features of MSBuild).
The text was updated successfully, but these errors were encountered: