VS 2017项目模板+VSIX:创建新项目时为何图片未被包含?
解决VS 2017项目模板中图片未被包含到新建项目的问题
嘿,我之前在制作VS项目模板的时候也踩过一模一样的坑!你的操作流程其实大部分都对,图片能出现在模板zip和VSIX包里,但新建项目时缺失,核心原因是VS项目模板默认只会识别并部署已被标记为项目一部分的文件,非编译类的资源(比如图片)如果没做配置,会被模板系统忽略。
下面是一步步的排查和解决方法:
1. 先修正原始类库项目的文件属性
回到你最初创建的空类库项目,选中那张图片:
- 右键点击图片 → 属性
- 将生成操作设置为
None(因为它不需要参与编译) - 将复制到输出目录设置为 如果较新则复制 或者 始终复制
- 确保图片在解决方案资源管理器里是可见的(不是只放在文件夹里却没添加到项目中)
2. 重新导出项目模板并检查.vstemplate配置
重新导出项目模板时:
- 选择「项目模板」,填写好模板名称、描述等信息
- 勾选**「在导出时自动将模板导入Visual Studio」**
- 导出完成后,找到生成的zip模板文件,解压后打开里面的
[你的模板名称].vstemplate文件 - 检查
<TemplateContent>→<Project>标签内,是否有指向图片的<ProjectItem>节点,类似这样:
<ProjectItem ReplaceParameters="false" TargetFileName="your-image.png">your-image.png</ProjectItem>
如果没有,手动添加这个节点(把文件名换成你的图片名),这一步是告诉VS模板系统:这个文件需要被部署到新建的项目里。
3. 重新打包并测试VSIX项目
- 删除VSIX项目里之前添加的旧模板zip
- 将修改后的新模板zip添加到VSIX项目的「项目模板」节点下
- 右键VSIX项目 → 属性,切换到「资产」选项卡,确认已经正确引用了这个项目模板(类型为
Microsoft.VisualStudio.ProjectTemplate) - 重新生成VSIX,安装后再通过「新建项目」测试
额外的验证小技巧
- 每次修改模板后,建议清理VS的模板缓存:打开
%USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates目录,删除旧的模板文件,避免缓存干扰 - 新建项目时,创建完成后直接去项目所在的文件夹查看,不要只看解决方案资源管理器——有时候VS的视图会有缓存,实际文件已经存在但没显示
内容的提问来源于stack exchange,提问作者Lūfħer ArTħou DeeCyfħer
相关产品推荐
相关产品推荐

