You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSIX打包的ASP.NET Core 2 Web模板仅生成空白项目求助

解决VSIX模板生成空白ASP.NET Core 2项目的问题

我处理过不少这类VSIX模板的坑,结合你的情况,给你几个针对性的修复步骤,应该能解决空白项目的问题:

1. 检查.vstemplate的项目文件引用配置

你的.vstemplate很可能没正确指定要包含的项目文件。打开模板项目里的.vstemplate,确保<Project>节点指向正确的.csproj,同时要逐个添加<ProjectItem>来包含Controllers、Views、wwwroot这些核心目录和文件,比如:

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
  <TemplateData>
    <!-- 保留你的模板元数据 -->
  </TemplateData>
  <TemplateContent>
    <Project File="ExampleAspNetCoreTemplate.csproj" ReplaceParameters="true">
      <!-- 必须明确列出要包含的文件/目录 -->
      <ProjectItem ReplaceParameters="true" TargetFileName="Controllers\HomeController.cs">Controllers\HomeController.cs</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Views\Home\Index.cshtml">Views\Home\Index.cshtml</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="wwwroot\css\site.css">wwwroot\css\site.css</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="appsettings.json">appsettings.json</ProjectItem>
      <!-- 其他必要文件都要加进去 -->
    </Project>
  </TemplateContent>
</VSTemplate>

如果没加这些<ProjectItem>,VS打包VSIX时会遗漏文件,生成的自然是空白项目。

2. 确认所有文件的"包含在VSIX中"属性

右键模板项目里的每个文件(包括.csproj、各个目录下的文件),打开属性面板,把包含在VSIX中设置为True。要是这个选项是False,这些文件根本不会被打包进VSIX,生成项目时当然看不到内容。

3. 处理ASP.NET Core的特殊配置文件

launchSettings.json、appsettings.json这类配置文件也必须添加到<ProjectItem>里,而且如果你的模板需要替换命名空间、项目名称这类参数,要确保文件里的占位符和.vstemplate里的参数对应上,同时ReplaceParameters要设为true。

4. 清理缓存后重新打包

有时候旧的缓存会搞事情,按这个流程来:

  • 关掉所有Visual Studio实例
  • 删除VSIX项目下的bin和obj目录
  • 重新打开项目,生成并重新打包VSIX
  • 先卸载之前装的旧模板,再安装新的VSIX文件

5. 验证模板的项目类型设置

确保.vstemplate的<TemplateData>里的<ProjectType>是Web,<ProjectSubType>是ASP.NET Core,这样VS才能正确识别为Web项目模板:

<TemplateData>
  <Name>AspNet Core 2 Web App Template</Name>
  <Description>ASP.NET Core 2 Web Application Template</Description>
  <ProjectType>Web</ProjectType>
  <ProjectSubType>ASP.NET Core</ProjectSubType>
  <!-- 其他元数据 -->
</TemplateData>

按这些步骤调整后,再试一次生成项目,应该就能得到带有完整文件的ASP.NET Core 2应用了。

内容的提问来源于stack exchange,提问作者Drew Brasher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:06:19