我的.net 4.5项目引用了一个nuget包(System.ValueTuple 4.3.0,目标是.netstandard)。 使用SmartAssembly 6.10混淆了代码(我知道此版本不支持.NET Standard)。
程序在运行.NET 4.7.1的计算机上正常运行。 通过以下方式访问Value Tuple代码时,该程序在运行.NET 4.5.2的计算机上失败:
System.InvalidProgramException: Common Language Runtime detected an invalid program
我理解为什么它在4.5.2上失败,但是不清楚为什么在4.7.1上起作用。如果我的SmartAssembly版本不支持.NET Standard,则无论.NET版本如何,我都希望这两台计算机都能看到该异常。
不用说,当不使用SmartAssembly时,程序在两台机器上都可以正常运行。
感谢您的想法。
答案 0 :(得分:0)
我在SA支持论坛上向same question提问,得到的答案基本上是“ .NET标准是一个奇怪的生物”。
显然没有将其标记为可接受的答案,但这是我们目前所拥有的。