Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Adding User Experience for creating WinMDs on .NET Core

See original GitHub issue

We’re planning on adding a new WinRT host in core-setup to enable users to author WinRT components that run on .NET Core 3.0 and are activated via the upcoming side-by-side WinRT resolution, Reg-Free WinRT. See dotnet/core-setup#5527

We should add support in the SDK to enable users to “relatively” easily author a WinRT .NET Core 3.0 component.

As per the design in dotnet/core-setup#5527, my plan is to resolve the WinRT host the same way that the .NET Core App Host or the .NET Core COM Host are currently resolved. After resolving the host, we will copy the host to the output directory and rename it to be the output name of the component with a .dll suffix.

The user will enable creating a WinRT .NET Core 3.0 component by setting the <OutputType> to winmdobj in their .csproj. MSBuild and the SDK already have all of the targets and tasks wired up correctly to to generate a .winmd when the user specifies an output type of winmdobj, so there minimal work needed on that end.

Current open issues:

  • WinMDExp is only available on Desktop MSBuild. We can either make this available in Core MSBuild or require users to use Desktop MSBuild to build these WinMDs.
  • WinMDExp only supports full PDBs. My suggestion is to change the default debug type for winmdobj projects to be full instead of portable.
  • The user will need to add a reference to Windows.Foundation.winmd. The Windows team is currently working on a new metapackage (Microsoft.Windows.SDK.Contracts) that is currently on MyGet ( This package can be referenced by users to fulfill this requirement.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:3
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

clairernovotnycommented, Mar 26, 2019

Please fix WinMDExp to support portable and embedded PDB’s. Do not want full pdb’s and those also cannot go to the NuGet symbol server.

jkoritzinskycommented, Mar 26, 2019
Read more comments on GitHub >

github_iconTop Results From Across the Web

Configure Windows Authentication in ASP.NET Core
Create a new Razor Pages or MVC app. In the Additional information dialog, set the Authentication type to Windows. Run the app. The...
Read more >
Learn Live - Create a web UI with ASP.NET Core - YouTube
In this episode, you will: Understand when and why to use Razor Pages for your ASP. NET Core ... NET Core CLI to...
Read more >
Create a Web API with ASP.NET Core and Visual Studio ...
This tutorial builds a web API for managing a list of "to-do" items when a user interface (UI) isn't created.
Read more >
Create Desktop UX With ASP.NET MVC (Part 1 of 3)
Part 1 : Beginner's Guide to Creating an MVC App From Nothing. We start with the Visual Studio ASP.NET MVC Empty template and...
Read more >
c# - Create users in ASP.NET Core web app using Active ...
How can I Create/Edit users in an ASP.NET Core web app that use OAuth or OpenID Connect to authentication? All the documentation and...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Post

No results found

github_iconTop Related Hashnode Post

No results found