与JSON.NET一起使用时,Makecab失败

时间:2013-11-07 20:44:55

标签: c# .net json.net installshield makecab

在我作为开发人员的职业生涯中,这可能是最奇怪的事情......

我有一个引用JSON.NET的项目,以便我可以反序列化JSON字符串。我有另一个项目(InstallShield项目),它将此应用程序打包在setup.exe文件中。所有这一切都可以实现 - InstallShield项目在setup.exe中打包应用程序,当setup.exe执行时,它可以正常工作。

这是问题...当运行makecab.exe来压缩cab文件中的setup.exe文件时,它不包含setup.exe文件(它报告它已成功压缩它,但当你看到什么时候cab文件缺少setup.exe文件)。

这是奇怪的部分...如果我删除使用JSON.NET反序列化对象的一行代码makecab.exe完全正常。我甚至不必删除对JSON.NET的引用 - 只是使用库的代码行。

为什么makecab.exe的行为会有所不同,具体取决于我是否有使用JSON.NET的代码?为什么makecab.exe甚至会关心那个级别的粒度?特别是在项目构建,打包并包含在setup.exe文件中之后???在这一点上,我甚至不知道makecab.exe甚至不知道JSON.NET库是否被使用。

0 个答案:

没有答案