diff --git a/nuget/CppWinrtRules.Project.xml b/nuget/CppWinrtRules.Project.xml
index 062d70f2b..572efc31d 100644
--- a/nuget/CppWinrtRules.Project.xml
+++ b/nuget/CppWinrtRules.Project.xml
@@ -70,5 +70,10 @@
DisplayName="Optimized"
Description="Enables component projection optimization features (e.g., unified construction)"
Category="General" />
+
+
diff --git a/nuget/Microsoft.Windows.CppWinRT.targets b/nuget/Microsoft.Windows.CppWinRT.targets
index f10bf9176..660090b85 100644
--- a/nuget/Microsoft.Windows.CppWinRT.targets
+++ b/nuget/Microsoft.Windows.CppWinRT.targets
@@ -37,7 +37,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
$(WindowsSDK_MetadataPathVersioned)
- $(GetTargetPathDependsOn);GetCppWinRTMdMergeInputs;CppWinRTResolveWinMD;
+ $(GetTargetPathDependsOn);ComputeCppWinRTResolvedWinMD;CppWinRTResolvedWinMD;
$(PrepareForBuildDependsOn);CppWinRTVerifyKitVersion;
@@ -50,7 +50,12 @@ Copyright (C) Microsoft Corporation. All rights reserved.
$(ComputeMidlInputsTargets);CppWinRTComputeXamlGeneratedMidlInputs;CppWinRTSetMidlReferences;
- $(AfterMidlTargets);GetCppWinRTMdMergeInputs;CppWinRTMergeProjectWinMDInputs;CppWinRTResolveWinMD;
+ $(AfterMidlTargets);
+ GetCppWinRTMdMergeInputs;
+ CppWinRTMergeProjectWinMDInputs;
+ ComputeCppWinRTResolvedWinMD;
+ CppWinRTResolvedWinMD;
+ CppWinRTResolvedWinMDToOutputDirectory;
$(ResolveAssemblyReferencesDependsOn);GetCppWinRTProjectWinMDReferences;CppWinRTRemoveStaticLibraries;
@@ -112,8 +117,18 @@ Copyright (C) Microsoft Corporation. All rights reserved.
-
+
+
+ true
+ false
+
+
+
+
@@ -127,7 +142,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
$(ConfigurationType)
-
+
<_MdMergeDepth Condition="'$(CppWinRTNamespaceMergeDepth)' != ''">-n:$(CppWinRTNamespaceMergeDepth)
@@ -401,11 +416,20 @@ $(XamlMetaDataProviderPch)
<_MdMergedOutput Remove="@(_MdMergedOutput)"/>
<_MdMergedOutput Include="$(CppWinRTMergedDir)*.winmd"/>
+
+
+
+
+
+
-
diff --git a/nuget/readme.md b/nuget/readme.md
index f61003785..c08079ed6 100644
--- a/nuget/readme.md
+++ b/nuget/readme.md
@@ -67,6 +67,7 @@ C++/WinRT behavior can be customized with these project properties:
| CppWinRTFastAbi | true \| *false | Enables Fast ABI feature for both consuming and producing projections |
| CppWinRTProjectLanguage | C++/CX \| *C++/WinRT | Selects the C++ dialect for the project. C++/WinRT provides full projection support, C++/CX permits consuming projection headers. |
| CppWinRTOptimized | true \| *false | Enables component projection [optimization features](https://kennykerr.ca/2019/06/07/cppwinrt-optimizing-components/) |
+| CppWinRTGenerateWindowsMetadata | true \| *false | Indicates whether this project produces Windows Metadata |
\*Default value
To customize common C++/WinRT project properties:
diff --git a/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj b/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj
index 1ed2bb2d0..5f92b074f 100644
--- a/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj
+++ b/test/nuget/TestRuntimeComponent1/TestRuntimeComponent1.vcxproj
@@ -87,7 +87,7 @@
Console
- true
+ false
TestRuntimeComponent1.def
diff --git a/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj b/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj
index 4b3832a86..c30618143 100644
--- a/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj
+++ b/test/nuget/TestRuntimeComponent2/TestRuntimeComponent2.vcxproj
@@ -88,7 +88,7 @@
Console
- true
+ false
TestRuntimeComponent2.def
diff --git a/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj b/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj
index 42fb22b1d..20b8301fd 100644
--- a/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj
+++ b/test/nuget/TestRuntimeComponent3/TestRuntimeComponent3.vcxproj
@@ -88,7 +88,7 @@
Console
- true
+ false
TestRuntimeComponent3.def
diff --git a/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj b/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj
index 35f2c0098..03fa5a174 100644
--- a/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj
+++ b/test/nuget/TestRuntimeComponentEmpty/TestRuntimeComponentEmpty.vcxproj
@@ -88,7 +88,7 @@
Console
- true
+ false
TestRuntimeComponentEmpty.def
diff --git a/vsix/ProjectTemplates/VC/Windows Desktop/ConsoleApplication/ConsoleApplication.vcxproj b/vsix/ProjectTemplates/VC/Windows Desktop/ConsoleApplication/ConsoleApplication.vcxproj
index 6d45da3c0..66e7c6eaa 100644
--- a/vsix/ProjectTemplates/VC/Windows Desktop/ConsoleApplication/ConsoleApplication.vcxproj
+++ b/vsix/ProjectTemplates/VC/Windows Desktop/ConsoleApplication/ConsoleApplication.vcxproj
@@ -3,6 +3,7 @@
true
true
+ true
true
15.0
{$guid1$}
diff --git a/vsix/ProjectTemplates/VC/Windows Desktop/WindowsApplication/WindowsApplication.vcxproj b/vsix/ProjectTemplates/VC/Windows Desktop/WindowsApplication/WindowsApplication.vcxproj
index 822bb8bb1..8071fbd46 100644
--- a/vsix/ProjectTemplates/VC/Windows Desktop/WindowsApplication/WindowsApplication.vcxproj
+++ b/vsix/ProjectTemplates/VC/Windows Desktop/WindowsApplication/WindowsApplication.vcxproj
@@ -3,6 +3,7 @@
true
true
+ true
true
15.0
{$guid1$}
diff --git a/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj
index cb666a57a..7aa6dc7a8 100644
--- a/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj
+++ b/vsix/ProjectTemplates/VC/Windows Universal/BlankApp/BlankApp.vcxproj
@@ -3,6 +3,7 @@
true
true
+ true
true
{$guid1$}
$projectname$
diff --git a/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj
index c84ab6848..6199f3c73 100644
--- a/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj
+++ b/vsix/ProjectTemplates/VC/Windows Universal/CoreApp/CoreApp.vcxproj
@@ -3,6 +3,7 @@
true
true
+ true
true
{$guid1$}
$projectname$
diff --git a/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj
index e619fe0b3..211d584b7 100644
--- a/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj
+++ b/vsix/ProjectTemplates/VC/Windows Universal/StaticLibrary/StaticLibrary.vcxproj
@@ -3,6 +3,7 @@
true
true
+ true
-lib $(MSBuildProjectName)
true
{$guid1$}
diff --git a/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj b/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj
index b917f4eda..855c9a456 100644
--- a/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj
+++ b/vsix/ProjectTemplates/VC/Windows Universal/WindowsRuntimeComponent/WindowsRuntimeComponent.vcxproj
@@ -3,6 +3,7 @@
true
true
+ true
true
{$guid1$}
$projectname$