使用基于项目名称的Nuget添加动态文件名
问题描述:
我想创建一个NuGet包,该项目根据项目名称将文件添加到项目中。使用基于项目名称的Nuget添加动态文件名
因此,举例来说,如果我有一个名为“ProjectABC”的项目,我导入此NuGet包,我希望它添加下列文件夹/文件结构:
/Schemas
/Schemas/ProjectABC.cs
ProjectABC.cs
我也想有在的.cs的命名空间来修改过的文件,以匹配项目名称:
namespace ProjectABC.Class1
这可能吗?
答
是的,这是可能的。我的建议是让你看看one existing package做这样的操作。尤其要看看包中包含的install.ps1
和vs.psm1
powershell脚本,以了解它们如何将文件添加到当前项目。 “vs”文件包含一些实用功能,基于ENVDTE自动执行Visual Studio。另一个有趣的资源可以找到here。
对于命名空间部分,您可能必须依赖安装脚本中的T4 templating和trigger a .cs file generation。