Msbuild 如何构建包含.nuspec模板文件的NuGet包?

Msbuild 如何构建包含.nuspec模板文件的NuGet包?,msbuild,nuget,nuget-package,nuget-spec,Msbuild,Nuget,Nuget Package,Nuget Spec,我正在尝试为MSBuild扩展名创建NuGet包,该扩展名应包含template.nuspec文件 但是,当我将.nuspec文件指定为包的内容时,我无法将其安装到目标项目的.nuget文件夹中 正如您在屏幕截图中看到的,它将创建一个.nuget\NuSpecTemplate.nuspec文件夹,其中将创建嵌入的.nuspec文件。我将模板命名为.spec,因为如果源文件名为.nuspec,NuGet将忽略它 这是设计的,还是NuGet中的一个bug 如果我将目标文件的结尾更改为.spec而不是

我正在尝试为MSBuild扩展名创建NuGet包,该扩展名应包含template.nuspec文件

但是,当我将.nuspec文件指定为包的内容时,我无法将其安装到目标项目的.nuget文件夹中

正如您在屏幕截图中看到的,它将创建一个.nuget\NuSpecTemplate.nuspec文件夹,其中将创建嵌入的.nuspec文件。我将模板命名为.spec,因为如果源文件名为.nuspec,NuGet将忽略它

这是设计的,还是NuGet中的一个bug


如果我将目标文件的结尾更改为.spec而不是重命名为.nuspec,它将直接放置在目标项目的.nuget文件夹中,但随后我必须指示包的用户将文件扩展名从.spec更改为.nuspec。如果使用.nuspec,则生成的.nupkg中的文件是.nuspec吗?查看NuGet源代码,在创建NuGet包时,它将始终排除.nuspec文件。如果是这种情况,那么您可能必须使用PowerShell脚本添加文件。您的NuGet pkg的名称是什么?我来看看。代码是开源的吗?这个项目不是开源的,但我在这里的一个新项目中复制了它:如果您构建这个项目并查看构建日志,您可以看到名为TargetProjectNuSpecFile.nuspec的文件从内容中被忽略。DemoPackage.nuspec是定义正在构建的NuGet包的文件。我认为@MattWard回答了这个问题。NuGet忽略.nuspec文件作为NuGet包中的内容是出于设计考虑的。