【发布时间】:2016-03-22 17:08:52
【问题描述】:
我目前正在从 ASP.NET MVC(从现在开始称为“库”)项目创建 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。
有没有人遇到过类似的问题?有没有办法解决这个问题?
【问题讨论】: