NuGet包中包含带有特殊字符的文件

时间:2016-03-21 15:44:51

标签: nuget special-characters

我目前正在从ASP.NET MVC(从现在开始称为“Library”)项目创建NuGet包,以用作一些更高级的ASP.NET MVC项目的基础。

我的“图书馆”项目使用bootstrap.chosen NuGet包,其中包含一个名为chosen-sprite.png的文件和一个名为chosen-sprite@2x.png的文件。

虽然第一个文件(没有@)未包含在NuGet包中(如预期的那样),但第二个文件是。

当增加NuGet exe调用的详细程度时,日志显示以下消息:

Add file 'C:\Development\PersonRegister\Rubicon.RegisterNova.UI\Content\chosen-sprite@2x.png' to package as 'content\Content\chosen-sprite%402x.png'
File from dependency is not changed. File 'Content\chosen-sprite.png' is not added.

我已经检查chosen-sprite@2x.png是否被修改(通过使用BeyondCompare),甚至尝试从NuGet包中复制原始文件,但出于某种原因nuget pack似乎仍然认为它有必要将该文件包含在我的NuGet包中。

我的理论是,NuGet没有正确处理@符号,这是错误的原因(特别是因为没有@的引导程序文件没有问题)。进一步证明NuGet可能不能正确处理“特殊”字符的事实在于,在项目中安装我的NuGet包时,添加的文件实际上名为chosen-sprite%402x.png而不是chosen-sprite@2x.png

有没有人遇到过类似的问题?有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

不幸的是,这似乎是NuGet中的已知错误,请参阅:

https://github.com/NuGet/Home/issues/1117(已重复,原始问题:https://github.com/NuGet/Home/issues/1087)。