如何使用 nuget 包部署 PS1 脚本

How can I deploy a PS1 script with a nuget package

我有一个 PS1 脚本,我在所有项目中都使用它来签署程序集。到目前为止,我将这个文件复制到我所有的项目中。现在我想用 PS1 文件创建一个 nuget 包。

我创建了一个 nuspec 文件并将该文件放在 "content" 中。不幸的是什么也没发生。然后我试着把它放在lib中。仍然注意到发生了。当我在我的项目中恢复包时,此项目中没有创建任何文件。

当我用我的 7-Zip 分析 nupkg 文件时,文件看起来没问题。 ps1 文件分别在 content 和 lib 中。

我没有在网上找到与此主题相关的任何内容。有人可以向我解释一下如何创建这样的 NuGet 包吗?

当使用 packages.config 的项目安装 NuGet 包时,包的 tools\install.ps1 脚本将 运行。但是,this no longer happens when the project using the package uses PackageReference(例如.NET Core 使用的SDK 样式项目)。

同样,nupkgcontent文件夹中的文件在安装时被复制到项目中,但是only when the project uses packages.configPackageReference 项目使用 nupkg 中的 contentFiles 文件夹,但行为不同。对于 .NET Framework 项目和 .NET Core 项目,这些文件仅在构建时复制,而不是在安装时复制。可能不是您想要的程序集签名。

您可能想要使用的功能是 including MSBuild props and targets in your package。请注意,propstargets 文件名必须与包 ID 完全匹配,NuGet 才能使用它们。您可能想使用 afterTargets="build" 进行猜测。