dotnet新的多项目模板



我正在创建一个多项目模板,该模板具有一些可选的项目和解决方案文件夹。我在Github经历了很多不同的文档和代码来实现这一目标,但成功很少。我真的很感谢有人可以在其中一些问题上给我一些清晰度吗?

  1. VSTEM Plate XML文件仍然相关?该博客建议在模板文件中进行更改。但是,当我在Github中检查示例时,人们会使用Vemple Plate来创建项目,而且Sidewaffle Plugin仍然会创建Vementhe Plate File。如果仍然相关,想知道它与JSON文件有何不同?
  2. 使用上述文章板我尝试创建一个多项目模板,使用ProjectCollection Tage,当我运行dotnet run命令时,该模板将执行,但没有创建项目。

    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.Abstractions">
      Forms.Plugin.AbstractionsForms.Plugin.Abstractions.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.iOS">
      Forms.Plugin.iOSForms.Plugin.iOS.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.iOSUnified">
      Forms.Plugin.iOSUnifiedForms.Plugin.iOSUnified.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.Android">
      Forms.Plugin.AndroidForms.Plugin.Android.vstemplate
    </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Forms.Plugin.WindowsPhone">
      Forms.Plugin.WindowsPhoneForms.Plugin.WindowsPhone.vstemplate
    </ProjectTemplateLink>
    </ProjectCollection>```
    

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

如果有人可以帮助我入门。

我通过在模板中进行更改。

这是最终模板。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"]
    }

相关内容

  • 没有找到相关文章

最新更新