diff --git a/nuget/Microsoft.Windows.CppWinRT.targets b/nuget/Microsoft.Windows.CppWinRT.targets
index 2d00ddc9e..9cb426448 100644
--- a/nuget/Microsoft.Windows.CppWinRT.targets
+++ b/nuget/Microsoft.Windows.CppWinRT.targets
@@ -190,16 +190,24 @@ Copyright (C) Microsoft Corporation. All rights reserved.
+
+
+ <_BuildingMidl Include="@(Midl)" Condition="'%(Midl.ExcludedFromBuild)' != 'true'" />
+
+
+
+ DependsOnTargets="CppWinRTGetBuildingMidl;GetCppWinRTProjectWinMDReferences;$(CppWinRTComputeGenerateWindowsMetadataDependsOn)">
- true
- true
+ true
+ true
@@ -345,12 +353,12 @@ Copyright (C) Microsoft Corporation. All rights reserved.
+ DependsOnTargets="CppWinRTGetBuildingMidl;CppWinRTResolveReferences"
+ Returns="@(CppWinRTMdMergeMetadataDirectories);@(CppWinRTMdMergeInputs)">
<_MdMergeInputs Remove="@(_MdMergeInputs)"/>
- <_MdMergeInputs Include="@(Midl)">
- %(Midl.OutputDirectory)%(Midl.MetadataFileName)
+ <_MdMergeInputs Include="@(_BuildingMidl)">
+ %(_BuildingMidl.OutputDirectory)%(_BuildingMidl.MetadataFileName)
$(CppWinRTProjectWinMD)