Skip to content

Ensure that markup compilation is run for all design time builds#1895

Merged
vatsan-madhavan merged 1 commit intodotnet:masterfrom
davidwengier:RunMarkupCompileOnDesignTimeBuilds
Sep 17, 2019
Merged

Ensure that markup compilation is run for all design time builds#1895
vatsan-madhavan merged 1 commit intodotnet:masterfrom
davidwengier:RunMarkupCompileOnDesignTimeBuilds

Conversation

@davidwengier
Copy link
Copy Markdown
Member

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 BuildingProject is true, as long we're still doing a design time build.

@ghost ghost added the PR metadata: Label to tag PRs, to facilitate with triage label Sep 16, 2019
@ghost ghost requested a review from SamBent September 16, 2019 02:05
@nguerrera
Copy link
Copy Markdown

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?

@nguerrera
Copy link
Copy Markdown

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.

@davidwengier
Copy link
Copy Markdown
Member Author

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.

@vatsan-madhavan
Copy link
Copy Markdown
Member

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

PR metadata: Label to tag PRs, to facilitate with triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

XAML intellisense file generation doesn't work in CPS projects

4 participants