我正在创建一个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>
答案 0 :(得分:2)
一个老问题,但这里只是记录的答案。它可能对其他人有帮助。
很遗憾,VSTemplate架构不允许您为XML文件指定XSD。
要做到这一点,您必须将文件添加到Visual Studio Schema Cache。
架构缓存是一个文件夹:%visual-studio-directory%\ Xml \ Schemas
例如
<?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