我目前正在从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
。
有没有人遇到过类似的问题?有没有办法解决这个问题?
答案 0 :(得分:0)
不幸的是,这似乎是NuGet中的已知错误,请参阅:
https://github.com/NuGet/Home/issues/1117(已重复,原始问题:https://github.com/NuGet/Home/issues/1087)。