【问题标题】:Installing custom template from local nupkg contains additional files从本地 nupkg 安装自定义模板包含其他文件
【发布时间】:2018-12-05 11:58:05
【问题描述】:
我正在使用非常好的说明here 成功创建和安装自定义项目模板。该模板已成功安装,但是,当我基于此模板创建一个新项目时,生成的文件夹包含我实际上不想在其中包含的三个附加内容:
- _rels/.rels
- [Content_Types].xml
- 原始 nuspec 文件
项目模板作为本地 NuGet 包在本地创建。看截图和中的事情流程
谁能告诉我如何防止这些附加文件成为从我的模板生成的项目的一部分?
【问题讨论】:
标签:
.net-core
project-template
【解决方案1】:
我也遇到过同样的问题。使用 nuspec 文件找到解决方案。
nuspec 文件是这样的
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>XYZ.Template</id>
<version>1.0.7</version>
<description>
Creates the XYZ API Template
</description>
<authors>XYZ</authors>
<packageTypes>
<packageType name="Template" />
</packageTypes>
</metadata>
<files>
<file src="**" exclude="**\bin\**\*;**\obj\**\*;**\*.user;"/>
</files>
</package>
问题是文件 src 表达式。 ** 表达式将包含这些文件。 将您的 nuspec 文件移动到上面的一个文件夹中。 然后更改以下行。
<file src="api/**" exclude="**\bin\**\*;**\obj\**\*;**\*.user;"/>
【解决方案2】:
您可以排除文件。在你的 template.json 中:
"sources": [
{
"modifiers": [
{
"exclude": [ "[Content_Types].xml" ,"_rels/**", "Baumgarb.Demo.DemoWebApi.nuspec"]
}
]
}
]
但我会将所有与您的模板无关的文件放在模板文件夹之外。