2014-09-04 97 views
3

我正在創建一個VS 2013項目模板,您可以添加到它的文件類型之一是一個XML文件,我有XSD但我一直無法弄清楚如何告訴VS當文件被添加時,將模式分配給它。項目項目模板:xml文件類型與XSD /架構

我有這樣的事情。假設模式是Format.XSD,我在projectitem模式中搜索了一些東西,但是找不到任何相關的東西。

<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

一個古老的問題,但這裏只是一個答案的記錄。它可能會幫助其他人。

因此不幸的是,VSTemplate架構不允許您爲XML文件指定XSD。

要做到這一點,您必須將文件添加到Visual Studio Schema Cache

架構緩存是這裏的文件夾:%的視覺工作室的目錄%\ XML \架構

  1. 添加您的XSD文件。
  2. 添加一個XML文件(所謂的目錄文件),將您的文件擴展名與您的XSD相關聯。 (目錄文件的名稱可以是任何內容,但其擴展名必須爲.xml)

例如,

<?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> 

UPDATE:

與Visual Studio 2017年開始,你可以使用VSIX(Visual Studio的擴展性),以XSD文件安裝到Visual Studio架構文件夾。

請參閱:https://docs.microsoft.com/en-us/visualstudio/extensibility/set-install-root

+0

感謝您的回覆。我沒有在一段時間的工作,我不能回憶,如果它實際上是否解決了,我將不得不回到:) – jrich523 2016-05-12 16:03:51

+0

更新的文檔在這裏:https://docs.microsoft.com/en-us/visualstudio/xml-tools/schema-cache – 2017-11-30 10:07:57

+0

感謝@Drew的鏈接更新。基於此,我已經更新了我的答案。 – Vizu 2017-11-30 11:14:41