You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Visual Studio 2022中启用自定义项目模板的“附加信息”窗口以选择.NET版本

如何在Visual Studio 2022中启用自定义项目模板的“附加信息”窗口以选择.NET版本

我来帮你搞定这个问题——要让自定义项目模板弹出「附加信息」窗口来选择.NET版本,核心是要在模板的配置里补上框架选择的支持逻辑,下面是一步步的具体操作:

  • 修改模板的.vstemplate配置文件
    这是控制模板行为的核心文件,你需要在里面明确指定支持的.NET版本列表。打开模板项目中的.vstemplate文件,找到<TemplateContent>节点,给里面的<Project>添加<TargetFrameworkVersions>子节点,把你想支持的版本都列进去,示例代码如下:

    <TemplateContent>
      <Project TargetFileName="YourProject.csproj" File="YourProject.csproj" ReplaceParameters="true">
        <TargetFrameworkVersions>
          <TargetFrameworkVersion>net6.0</TargetFrameworkVersion>
          <TargetFrameworkVersion>net7.0</TargetFrameworkVersion>
          <TargetFrameworkVersion>net8.0</TargetFrameworkVersion>
        </TargetFrameworkVersions>
      </Project>
    </TemplateContent>
    

    同时,要确保你的.csproj模板文件里的TargetFramework属性是用参数占位符的,这样Visual Studio才能动态替换成用户选择的版本:

    <TargetFramework>$targetframework$</TargetFramework>
    
  • 调整VSIX扩展的清单配置
    打开VSIX项目里的source.extension.vsixmanifest文件,先确认模板的「Template Type」设置为Project,并且勾选了「Show in New Project dialog」。另外,在模板的「Properties」设置里,把「Framework Version」改成「Multiple」或者对应你支持的版本范围,不要固定成net6.0。

  • 清理缓存并重新部署扩展
    旧的模板缓存很容易导致修改不生效,所以先清理整个解决方案,重新生成VSIX项目。然后卸载之前安装的旧版本扩展,安装新生成的VSIX包,重启Visual Studio后再测试创建项目的流程。

  • 确认模板是SDK风格项目
    因为你用的是.NET(非.NET Framework),模板项目必须是SDK风格的。检查.csproj文件开头是不是<Project Sdk="Microsoft.NET.Sdk">,如果是旧的非SDK格式,Visual Studio是不会弹出框架选择窗口的。

之前你参考的官方文档可能没把框架选择的细节讲透,这也是很多开发者踩坑的地方。按照上面的步骤调整后,创建项目时应该就能看到「下一步」按钮,进入「附加信息」窗口选择.NET版本了。

备注:内容来源于stack exchange,提问作者Vladyslav

火山引擎 最新活动