.NET Core 3 on the Windows Desktop can support Windows Runtime types. There should probably be an implicit reference to make this easier, controlled by a UseWindowsRuntime property.
If true, it should define/default some properties:
TargetPlatformVersionTargetPlatformMinVersionAnd it should import something like the following:
<Reference Include="$(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\$(TargetPlatformVersion)\Windows.winmd"
Private="false" IsImplicitlyDefined="true" />
<Reference Include="System.Runtime.WindowsRuntime" HintPath="$(WINDIR)\Microsoft.NET\Framework\v4.0.30319\System.Runtime.WindowsRuntime.dll"
Private="false" IsImplicitlyDefined="true" />
Or the appropriate System.Runtime.WindowsRuntime NuGet package on netcoreapp (if required).
@nguerrera @dsplaisted can you please help route it?
cc @diverdan92
@rido-min @jeffschwMSFT
.NET Core WinRT will be delivered via nuget packages. The inbox/template experience is still being designed.
cc @Pilchie @rido-min
@jeffschwMSFT The delivery and the UX are logically separate, right?
I like the general idea that @onovotny is proposing. It aligns with what we are doing with WPF and WinForms.
Also adding @DustinCampbell
@jeffschwMSFT The delivery and the UX are logically separate, right?
Generally, but we are trying to move away from nuget restore as a means to deliver the default template experience. So there is a connection.
There are some caveats with Oren's proposal, since it requires the SDK to be installed and also will block retargeting experiences (that also connects the delivery with the UX).
This is why we are proposing NuGet packages that can be delivered independently from the SDK, and also allows to declare dependencies to System.Runtime assemblies.
Whatever the UX/delivery mechanism is, I think there's value in having a single switch to opt-in to the configuration, even with some default values.
What I do in the MSBuild.Sdk.Extras is default TPV to the current and TPMV to n-3 (15063 currently). All can be overridden by the csproj, they're just defaults. I hope some kind of default can be achieved for WinRT too.
Thanks!
contracts have been shipped as nuget Microsoft.Windows.SDK.Contracts packages. Can we close this?