Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run DesignTimeMarkupCompilation when DesignTimeBuild is set. #10489

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

JoeRobich
Copy link
Member

@JoeRobich JoeRobich commented Feb 21, 2025

Fixes # microsoft/vscode-dotnettools#1018, dotnet/vscode-csharp#5958

Main PR

Description

Roslyn's MSBuildWorkspace, Roslyn LSP ProjectSystem, and (possibly) CPS used in C# DevKit do not want to set BuildingInsideVisualStudio because of all the unknown compatibility issues that might create. By adding the
DesignTimeMarkupCompilation to CoreCompile when a DesignTimeBuild is being performed we will be able to provide our users the ability to open WPF projects and have a good editing experience.

Looks like a previous PR (#1895) enabled this for CPS within VisualStudio and this hopes to do the same for project systems outside VS.

Customer Impact

microsoft/vscode-dotnettools#1018, dotnet/vscode-csharp#5958

Regression

Testing

MSBuildWorkspace has been basically running with this fix for a year (see PR) as it checks whether the DesignTimeMarkupCompilation target exists and runs it. We have not gotten any negative feedback from that change.

Risk

Based on an equivalent change being in Roslyn for a year. I would think the risk was low.

Would love to see this back ported to .NET 8 and 9 as it would enable users on those SDK to open WPF projects.

Microsoft Reviewers: Open in CodeFlow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR metadata: Label to tag PRs, to facilitate with triage
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant