0

我在 Nuget 包的内容文件夹中有一个 nuspec 模板文件 (template.nuspec.pp)。安装包后,我使用 install.ps1 脚本修改 nuspec 文件的名称以匹配目标程序集。我希望 nuspec 文件的内容保持不变:

<?xml version="1.0"?>
<package>
  <metadata>
    <id>$rootnamespace$</id>
    <version>$version$</version>
    <title>$rootnamespace$</title>
    <authors>$author$</authors>
    <!--<iconUrl></iconUrl>-->
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$rootnamespace$</description>
    <copyright>$copyright$</copyright>
    <tags></tags>
  </metadata>
</package>

但是,替换令牌会在安装时立即替换 - 我的印象只有在调用 nuget pack 时才会发生。为什么会发生这种情况,我需要做些什么来防止它发生?

如果人们想知道,我的 install.ps1 文件没有触及 nuspec 模板的内容。

4

1 回答 1

0

看起来 .pp 后缀的全部意义在于表示由 $ 括起来的任何变量都会在包安装时被替换。当我删除 .pp 后缀时,Nuget 会忽略这些文件,并且不会将其添加到内容文件夹中。为了避免这种情况,我必须在文件中添加一个非 .pp 后缀(我使用的是 .txt),然后在我的工具文件夹中使用 install.ps1 脚本对其进行重命名。

于 2017-05-04T20:08:57.497 回答