Ensure that markup compilation is run for all design time builds#1895
Conversation
|
I assume we'd want to take this in 3.1 so that the experience is fixed for 16.4? Is the process for WPF like corefx? Check in to master than get it approved and cherry picked to 3.1? |
|
Also, worth noting that dotnet/project-system#2488 was filed a long while ago while using the framework's in-box Microsoft.WinFx.targets. To get this fix, folks would have to switch to WindowsDesktop SDK, which I assume is OK as we never officially supported WPF in CPS in a classic project. |
Certainly this fix is only meant to avoid a bad experience for people updating to SDK projects, but @davkean and I were discussing this yesterday and it looks like we could in a future change the MSBuild targets so that classic projects opening in CPS use the WindowsDesktop SDK instead of the ones from the framework. Obviously that would depend on the WPF team sign-off. |
The current design (of PBT, WinFX.targets) has been done with build support for .NET Framework and multi-targeting in mind. We can certainly look into this once WindowsDesktop SDK + .NET Core experience has matured a bit and we have had a chance to find and fix any more lurking bugs. |
Fixes dotnet/project-system#2488
In SDK-style projects the project system will combine design time builds together to improve performance, but depending on timing, this can cause issues. If something like the designer asks for output groups, then the build for that could be combined with the build that produces the intellisense file, but getting output groups sets BuildingProject to true.
This change works around the issue by allowing the intellisense file to generate even if
BuildingProjectis true, as long we're still doing a design time build.