从命令行创建多个项目模板

时间:2019-01-06 19:00:54

标签: asp.net-core .net-core project-template

我在解决方案目录中创建.template.config / template.json文件,并运行以下命令dotnet new --install {Solution Path},它创建模板,但是当我从该模板创建新项目时,它仅更改了Web名称。项目未更改其他项目名称。

template.json文件

<pre>{
"$schema": "http://json.schemastore.org/template",
"author": "Muhammad Ali",
"classifications": [ "NcoreReferences" ],
"identity": "NcoreReferences",
"name": "NcoreReferences",
"shortName": "NcoreReferences",
"tags": {
"language": "C#",
"type":"solution"
},
"version":"1.0.0.0",
"preferNameDirectory":true,
"symbols": {
"projectname": {
  "type": "parameter",
  "dataType": "string",
  "fileRename": "NcoreReferences",
  "replaces": "NcoreReferences"
}
},
"sources": [
{
  "modifiers": [
    {
      "exclude": ["packages/**",".vs/**"]
    }
  ]
}
] }</pre>

2 个答案:

答案 0 :(得分:0)

sourceName将是在模板使用期间使用新名称替换的字符串。我用多个项目创建了完整的解决方案,这些项目包含该字符串的文件名以及文件的内容。

dotnet new将自动替换。

以下是示例存储库和sourceName

https://github.com/holisticware-xamarin/HolisticWare.DotNetNew.XamarinProjectsStructureTemplate/blob/master/Content/.template.config/template.json#L33

答案 1 :(得分:0)

在template.json中

{
...
"sourceName": "OriginalTemplate",      // Will replace the string 'OriginalTemplate' with the value provided via -n.
...
}

然后使用-n参数

dotnet new NcoreReferences -n ReplacedTemplate

有关dotnet模板的更多信息: How to create your own templates for dotnet new