我的nuget 4.5项目引用了一个.net包(System.ValueTuple 4.3.0,针对.netstandard)。代码使用SmartAssembly 6.10进行了模糊处理(我知道这个版本不支持.NET标准)。
该程序在运行.NET 4.7.1的机器上运行良好。在运行.NET 4.5.2的计算机上,当达到以下值元组代码时,程序会失败:
System.InvalidProgramException: Common Language Runtime detected an invalid program我理解为什么它在4.5.2上失败了,但不清楚为什么它在4.7.1上工作。如果我的SmartAssembly版本不支持.NET标准,我希望在两台机器上都能看到异常,而不管.NET版本是什么。
不用说,当不使用SmartAssembly时,程序在两台机器上都能正常工作。
感谢你的想法。
发布于 2019-01-22 18:19:42
我在SA支持论坛中询问了same question,得到的答案基本上是".NET标准是一个奇怪的生物“。
显然,这不是公认的答案,但这是我们目前所能得到的全部。
https://stackoverflow.com/questions/53119963
复制相似问题