nuspec始终生成占位符模板文件

时间:2016-10-07 11:40:56

标签: nuget

我使用NuGet工具来使用.nuspec创建.csproj

问题始终是生成一个带占位符模板的文件:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
    <projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
    <iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
    <copyright>Copyright 2016</copyright>
    <tags>Tag1 Tag2</tags>
  </metadata>
</package>

我不知道为什么要向我倾倒相同的内容。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果查看NuGet源代码,这就是当前实现的方式。它总是添加这些占位符。

你应该替换它们。

nuget.exe spec命令无法确定它们应该是什么,它会为您可能想要指定的值添加占位符。

答案 1 :(得分:0)

不确定你自己是否已经回答过这个问题,但我在想同样的事情。我在AssemblyInfo.cs文件中有一些值,并且对于为什么它们没有被注入.nuspec文件感到困惑。我认为我们期待同样的事情:运行nuget specnuget pack [csproj file]会生成一个带有参数的新nuspec文件。 事实证明,马特是完全正确的,它不是如何运作的。

关键答案是,实际上,值注入到包中。稍后,当您尝试导入包时,您将发现根据此表正确注入AssemblyInfo中的值。 (另请注意,某些元素不能以这种方式注入!)

就我个人而言,我觉得有些令人困惑,为什么他们会这样做,其中.nuspec有时包含完全包含文件的文字,而其他时间包含必须处理的模板,以产生另一个真正的&#39; nuspec文件(它是.pkg的内部文件,不能轻易阅读,请注意)。

干杯!