使用基于项目名称的Nuget添加动态文件名

问题描述:

我想创建一个NuGet包,该项目根据项目名称将文件添加到项目中。使用基于项目名称的Nuget添加动态文件名

因此,举例来说,如果我有一个名为“ProjectABC”的项目,我导入此NuGet包,我希望它添加下列文件夹/文件结构:

/Schemas 
/Schemas/ProjectABC.cs 
ProjectABC.cs 

我也想有在的.cs的命名空间来修改过的文件,以匹配项目名称:

namespace ProjectABC.Class1

这可能吗?

是的,这是可能的。我的建议是让你看看one existing package做这样的操作。尤其要看看包中包含的install.ps1vs.psm1 powershell脚本,以了解它们如何将文件添加到当前项目。 “vs”文件包含一些实用功能,基于ENVDTE自动执行Visual Studio。另一个有趣的资源可以找到here

对于命名空间部分,您可能必须依赖安装脚本中的T4 templatingtrigger a .cs file generation