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

[0.63] Fixed templates so C++ apps can consume C# native modules #5859

Merged
merged 1 commit into from
Aug 27, 2020

Conversation

jonthysell
Copy link
Contributor

@jonthysell jonthysell commented Aug 27, 2020

This change backports #5851 to 0.63

Original PR:
Right now C++/WinRT apps have a hard time consuming C# WinRT libraries from source. We fixed this in our SampleAppCpp in order to load SampleLibraryCS, but those fixes were not put into the template for the benefit of all apps.

This PR moves the fix into new CppAppConsumeCSharpModule.(props|targets) files. Since the fix involves importing a ton of other props/targets, and we don't want to risk breaking existing C++ apps who have no need of consuming C#-based native modules, the changes are behind a new property ConsumeCSharpModules.

So if you have a C++/WinRT RNW app (the default) and need to consume C# native module, you can set <ConsumeCSharpModules>true</ConsumeCSharpModules> in your app project.

This PR also fixes up the template solution files to include the projects they were missing.

Closes #5825
Closes #4557

Microsoft Reviewers: Open in CodeFlow

…5851)

Right now C++/WinRT apps have a hard time consuming C# WinRT libraries from source. We fixed this in our SampleAppCpp in order to load SampleLibraryCS, but those fixes were not put into the template for the benefit of all apps.

This PR moves the fix into new `CppAppConsumeCSharpModule.(props|targets)` files. Since the fix involves importing a ton of other props/targets, and we don't want to risk breaking existing C++ apps who have no need of consuming C#-based native modules, the changes are behind a new property `ConsumeCSharpModules`.

So if you have a C++/WinRT RNW app (the default) and need to consume C# native module, you can set `<ConsumeCSharpModules>true</ConsumeCSharpModules>` in your app project.

This PR also fixes up the template solution files to include the projects they were missing.

Closes microsoft#5825
Closes microsoft#4557
@jonthysell jonthysell requested a review from a team as a code owner August 27, 2020 20:52
@ghost ghost added the Area: Core DLL ABI-safe RNW DLL label Aug 27, 2020
@jonthysell jonthysell changed the title [0.65] Fixed templates so C++ apps can consume C# native modules [0.63] Fixed templates so C++ apps can consume C# native modules Aug 27, 2020
Copy link
Contributor

@kmelmon kmelmon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@jonthysell jonthysell merged commit 8cec3d3 into microsoft:0.63-stable Aug 27, 2020
@jonthysell jonthysell deleted the csharpmodulefix63 branch August 27, 2020 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Core DLL ABI-safe RNW DLL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants