在visual studio

时间:2017-09-19 03:52:27

标签: c# visual-studio templates visual-studio-2017 visual-studio-extensions

我想从包含少量html / js文件的文件夹创建项目模板。以后可以添加更多文件。

为此,我跟着Getting started with vsix project template
简单地说,有两个主要步骤:

  1. 创建项目,添加所需文件,然后从项目中导出 menu - 它将在My Docs中的VS目录下的导出模板文件夹中生成zip文件。
  2. 创建VSIX项目(需要VS. 扩展SDK安装)并双击 source.extension.vsixmanifest并在Assets中添加类型 - 项目模板 类型和来源 - 上面的zip文件位置
  3. 现在,由于我有非基于.Net的文件,我需要有解决方案文件夹并将其导出。但是当我创建解决方案文件夹选项导出时,在项目菜单中禁用。有没有办法导出解决方案文件夹?

    我也试过空的控制台项目。在这种情况下,从vsix安装后(步骤2中的项目输出),新项目使用空文件夹创建 - 不包含html / js文件。此外,新模板显示在C#项目下,如果在其他项目类型下显示,则会更好。我的csproj文件供以下参考:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>Library</OutputType>
        <TargetFramework>Net47</TargetFramework>
        <ApplicationIcon />
        <StartupObject />
      </PropertyGroup>
    
      <ItemGroup>
        <Folder Include="MyJSFolder\" />
      </ItemGroup>
    
    </Project>
    

    那么,在这种情况下如何创建项目模板?

1 个答案:

答案 0 :(得分:0)

当前版本的Visual Studio只能导出项目模板和项目模板,它们都不包含解决方案文件夹。

如果要在项目模板中添加解决方案文件夹,建议您为项目模板添加自定义向导扩展。然后在RunFinished方法中将文件添加到您的解决方案中。因为在RunStarted方法执行时,项目结构已在Temp文件夹中创建,DTE正在尝试从Temp文件夹中读取不存在的文件。

以下文档介绍了如何创建自定义向导扩展和项目模板。

https://www.codeproject.com/Articles/391989/Working-with-Project-Template-and-Wizard-Extension

在RunFinished方法中添加带有此线程中代码的文件。

https://stackoverflow.com/a/30878880/6593307