dotnet的多项目模板new

时间:2019-05-20 07:07:38

标签: c# .net visual-studio templates visual-studio-templates

我正在创建一个多项目模板,其中包含一些可选项目和解决方案文件夹。我已经在github中浏览了许多不同的文档和代码来实现此目的,但收效甚微。如果有人可以让我对这些问题中的一些问题弄清楚,我真的很感激。

  1. VSTemplate xml文件是否仍然有用?blog建议在template.json文件中进行更改,但是,当我检查github中的示例时,人们使用VSTemplate进行创建项目,而且SideWaffle插件仍会创建VSTemplate文件。如果它仍然相关,是否想知道它与json文件有何不同?
  2. 使用上述VSTemplate,我尝试使用ProjectCollection tage创建一个多项目模板,当我运行dotnet run命令时,该模板被执行但该项目未被创建。

    True

我们可以使用template.json文件创建多项目模板吗?

如果有人可以帮助我入门,将不胜感激。

1 个答案:

答案 0 :(得分:0)

通过在template.json文件中进行更改,我设法使多项目模板正常工作

这是最终的template.json文件,看起来像

This is my updated template.json file

    {
    "author": "Libin Joseph",
    "classifications": ["Xamarin", "Sample"],
    "name": "Sample Enterprise Template",
    "tags": {
        "language": "C#"
    },
    "identity": "libin.sampletemplate",
    "shortName": "sampletemplate",
    "sourceName": "SampleTemplate",
    "guids": [
        "{41F47D3C-C9E4-45D1-A289-3BDC31E44C19}",
        "{980FBE34-066B-4E87-AFC9-C3205844D980}",
        "{FD448FB5-B24B-4CD2-8E3C-2500CF0E4601}",
        "{D8FC665A-7739-4ADE-85E9-C69AA107EEE6}",
        "{92D25D7D-F637-4634-B939-BB38DE53B606}",
        "{5D52EDF7-47B8-48D2-83B6-104B18568CE4}",
        "{12E171B1-0F36-401A-A171-614F1A1C83E9}",
        "{7A4597AE-2C39-4197-94C9-F5B6B45B2106}"

    ],
    "primaryOutputs": [{
            "path": "SampleTemplate\\SampleTemplate.Android\\SampleTemplate.Android.csproj"
        },
        {
            "path": "SampleTemplate\\SampleTemplate.iOS\\SampleTemplate.iOS.csproj"
        },
        {
            "path": "SampleTemplate\\SampleTemplate\\SampleTemplate.csproj"
        },
        {
            "path": "SampleTemplate.UnitTest\\SampleTemplate.UnitTest.csproj"
        },
        {
            "path": "SampleTemplate.UITest\\SampleTemplate.UITest.csproj"
        },
        {
            "path": "SampleTemplate.Core\\SampleTemplate.Core.csproj"
        }
    ],
    "exclude": ["**/[Bb]in/**", "**/[Oo]bj/**", ".template.config/**/*", "**/*.lock.json"]
    }