microsoft/xlang

MidlRT Nuget package doesn't work with WindowsAppSdk 1.0.0-preview1

iablaauw-MS opened this issue · 2 comments

The WindowsAppSdk nuget includes several references to winmds that look similar to this:

<Reference Include="Microsoft.Windows.ApplicationModel.DynamicDependency.winmd">
<HintPath>$(MSBuildThisFileDirectory)..\..\lib\uap10.0\Microsoft.Windows.ApplicationModel.DynamicDependency.winmd</HintPath>
      <Implementation Condition="'$(WindowsAppSDKFrameworkPackage)' != 'true'">$(MSBuildThisFileDirectory)..\..\runtimes\win10-$(_WindowsAppSDKFoundationPlatform)\native\Microsoft.WindowsAppRuntime.dll</Implementation>
      <IsWinMDFile>true</IsWinMDFile>
</Reference>

When a project is using MidlRT with modern idl turned off (ModernMidlRT property is false), then MidlRT calls WinMdIdl.exe to turn the winmds into .idl files. This command line chokes on these WindowsAppSdk references, because they aren't referenced as full paths, and msbuild doesn't seem to be looking at the HintPath property. This causes "file not found" build errors to pop-up.

Note for internal tracking: OS issue 36431255

This issue is stale because it has been open 10 days with no activity. Remove stale label or comment or this will be closed in 5 days.