Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Makecab与JSON.NET一起使用时失败_C#_.net_Json.net_Installshield_Makecab - Fatal编程技术网

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

C# Makecab与JSON.NET一起使用时失败,c#,.net,json.net,installshield,makecab,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文件

这可能是我在开发生涯中见过的最奇怪的事情

我有一个引用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库