NuGet pack 命令在 & 字符 (&) 上失败

NuGet pack command fails on ampersand char (&)

我们的程序集信息的版权部分包含一个 & 字符 (&)。

nuspec 文件中,我们尝试使用变量 $copyright$ 从 dll 的程序集信息中获取值:

<copyright>$copyright$</copyright>

nuget pack 命令在此与字符上失败并显示消息:

Beim Analysieren von 'EntityName' ist ein Fehler aufgetreten. Zeile 14, Position 55.

通过程序集信息使用 &amp; 转义符号无效。但是直接在 nuspec 文件中这样做是可行的:

<copyright>Copyright © Dimension Data Germany AG &amp; Co. KG 2018</copyright>

我假设在构建程序集时,转义版本被解析和替换。

虽然编辑 nuspec 文件是解决方法,但这不是首选,因为那时我们必须为每个库更新版权年份两次。

还有其他选择吗?

该问题无效,因为它适用于使用 &amp; 符号。 我只是混淆了 NuGet 正在使用的构建配置。

此行为的 MS 文档:additional options for creating a nuget package