【发布时间】:2013-01-07 07:13:54
【问题描述】:
我正在尝试为创建多个文件的 Visual Studio 创建自定义项模板。其中两个文件是Resource.resx 文件和一个相应的“Resource.Designer.cs”文件。
我已经设法将它们显示为父子文件,并在 .vstemplate 文件中声明:
<ProjectItem ItemType="EmbeddedResource" TargetFileName="$fileinputname$Resources.resx" ReplaceParameters="true">Resources.resx</ProjectItem>
<ProjectItem TargetFileName="$fileinputname$Resources.resx\$fileinputname$Resources.Designer.cs" ReplaceParameters="true">Resources.Designer.cs</ProjectItem>
这也将Resource.resx 声明为嵌入式资源。
我现在遇到的问题是Resource.resx 文件在使用此模板创建项目后没有使用Resources.Designer.cs 作为代码隐藏文件。只要我在Resource.resx 文件中添加一个新的资源字符串,它就会创建一个新的Resources1.Designer.cs 文件,Visual Studio 从那时起将其用作代码。
我检查了在 Visual Studio 创建新的代码隐藏文件之前和之后在 .csproj 文件中所做的更改,我发现主要原因是因为 Resource.resx 文件没有 <LastGenOutput> 条目。
有没有办法通过.vstemplate 声明<LastGenOutput> 或任何其他方式将.resx 文件与它的代码隐藏文件连接起来而无需手动执行?
【问题讨论】:
标签: visual-studio-2010 visual-studio-templates