项目项模板:具有XSD /架构的xml文件类型

时间:2014-09-04 21:30:13

标签: visual-studio-2013

我正在创建一个VS 2013项目模板,你可以添加到其中的一个文件类型是一个XML文件,我有XSD但是我一直无法弄清楚如何告诉VS当文件添加,将模式分配给它。

我有类似的东西。假设模式是Format.XSD,我已经在项目项目架构周围进行了调查,但无法找到任何相关内容。

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>type.format.ps1xml</DefaultName>
    <Name>PowerShell Format File</Name>
    <Description>An type format definition</Description>
    <ProjectType>PowerShell</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>PowerShell.ico</Icon>

  </TemplateData>
  <TemplateContent>
    <References>

    </References>
    <ProjectItem TargetFileName="$fileinputname$.format.ps1xml" ReplaceParameters="false">format.ps1xml</ProjectItem>
  </TemplateContent>
</VSTemplate>

1 个答案:

答案 0 :(得分:2)

一个老问题,但这里只是记录的答案。它可能对其他人有帮助。

很遗憾,VSTemplate架构不允许您为XML文件指定XSD。

要做到这一点,您必须将文件添加到Visual Studio Schema Cache

架构缓存是一个文件夹:%visual-studio-directory%\ Xml \ Schemas

  1. 添加您的XSD文件。
  2. 添加一个XML文件(所谓的目录文件),它将您的文件扩展名与XSD相关联。 (目录文件的名称可以是任何名称,但其扩展名必须为.xml)
  3. 例如

    <?xml version="1.0" encoding="utf-8"?>
    <SchemaCatalog xmlns="http://schemas.microsoft.com/xsd/catalog">
      <Association extension="myextension" schema="%InstallRoot%/xml/schemas/MyXsd.xsd" />
    </SchemaCatalog>
    

    <强>更新

    从Visual Studio 2017开始,您可以使用VSIX(Visual Studio可扩展性)将XSD文件安装到Visual Studio架构文件夹。

    请参阅:https://docs.microsoft.com/en-us/visualstudio/extensibility/set-install-root