nuspec始终生成占位符模板文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nuspec始终生成占位符模板文件相关的知识,希望对你有一定的参考价值。
我正在使用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>
我不知道为什么要向我倾倒相同的内容。
有任何想法吗?
答案
如果你看一下NuGet源代码,这就是它当前的实现方式。它总是添加这些占位符。
你应该替换它们。
nuget.exe spec命令无法确定它们应该是什么,并且它为您可能想要指定的值添加占位符。
另一答案
不确定你是否已经自己回答过这个问题,但我在想同样的事情。我在AssemblyInfo.cs文件中有一些值,并且对于为什么它们没有被注入.nuspec文件感到困惑。我认为我们期待同样的事情:运行nuget spec
或nuget pack [csproj file]
将生成一个新的nuspec文件,其中注入了参数。结果马特是完全正确的,它不是它的工作方式。
关键的答案是,实际上,值被注入到包中。稍后,当您尝试导入包时,您将发现根据此表正确注入AssemblyInfo中的值。 (另请注意,某些元素不能以这种方式注入!)
我个人觉得有点莫名其妙,为什么他们会这样做,.nuspec有时包含完全包含文件的文字,而其他时间包含必须处理的模板,以生成另一个'真正的'nuspec文件(在.pkg内部)并且不能轻易阅读,请注意)。
干杯!
以上是关于nuspec始终生成占位符模板文件的主要内容,如果未能解决你的问题,请参考以下文章