/n 开关

/n 开关指定用于撰写元数据文件的合成深度。

mdmerge /n namespace_depth

切换选项

namespace_depth

指定要组合成单个元数据文件的命名空间深度。

备注

下面是可以使用 /n 开关指定的可能值格式。

值格式 说明
Int32 > 0 按开关中指定的命名空间深度组合所有类型。
-1 将所有类型组合到每个命名空间的一个 IDL 文件中。
<namespace>:Int32 > 0 按开关中指定的深度使用匹配的命名空间组合所有类型。
<namespace>:-1 将具有匹配命名空间的所有类型组合到每个命名空间的一个文件中。

下表显示了在这些命名空间上工作的不同 /n 开关组合的结果。

  • Windows.Foundation.Collections.IIterable
  • Windows.UI.DirectUI.Controls.Button
  • Windows.UI.DirectUI.Controls.ListView
  • Windows.UI.Immersive.Application.PlayTo.Target
  • Windows.Web.Syndication.RSS
交换机 结果 说明
/n:-1 /n:1 Windows.winmd 最后一个 /n 开关将替代以前的所有 –n 开关。
/n:-1/n:Windows.UI:2
Windows.Foundation.winmd
Windows.UI.winmd
Windows.Web.Syndication.winmd
Windows.Foundation 始终以 –n:2 编写。
对 Windows.UI 类型进行分组。
Windows.Web.Syndication 在 n:-1 处组成。
/n:1/n:Windows.UI.DirectUI:3
Windows.Foundation.winmd
Windows.UI.DirectUI.winmd
Windows.winmd
Windows.Foundation 始终以 –n:2 编写。
Windows.UI.DirectUI 在级别 3 中组成。
所有其他类型在级别 1 中组成。

下面是用于处理 /n 开关的多个实例的规则。

  • 最具体的实例占上风。 例如,如果指定 –n:A.B.C:4–n:A.B:5,MDMERGE 会在级别 4 解析 A.B.C.D,因为 A.B.C 比 A.B.C 更具体。A.B.E.F 解析深度为 5,因为它与 A.B 匹配,但与 A.B.C 匹配。
  • 最后一个实例占上风。 例如,如果指定 –n:5–n:2,则类型在级别 2 组成。
  • 这两个规则都适用。 如果指定 –n:A.B.C:4 –n:A.B.C:1,则命名空间 A.B.C 将在级别 1 组成。

示例

mdmerge.exe -metadata_dir $ (SDK_METADATA_PATH) -i $ (INTERNAL_SDK_METADATA_PATH) -o $ (OBJ_PATH) \$O\SystemMetadata -v -n:-1 -n:Windows.Foundation:2

要求

要求
客户端
Windows 8
服务器
Windows Server 2012

另请参阅

常规 MIDL 命令行语法