更新 newtonsoft 后出现 Postsharp 错误

Postsharp Error after updating newtonsoft

提问人:DuroForce 提问时间:7/15/2022 更新时间:7/15/2022 访问量:342

问:

我有一个 .net 框架解决方案,它使用 postsharp 版本 4.2.21.0。

我有将我们的 newtonsoft.json 软件包从 11.0.2 升级到 13.0.1 的需求。此升级后,解决方案变得无法构建,因为操作系统出现此后尖锐错误

Severity    Code    Description Project File    Line    Suppression State
Error       Unhandled exception (4.2.21.0, postsharp-net40-x86-srv.exe, CLR 4.0.30319.528449, Release):
System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at ^e9p3FN6izlJE.^TxMhIJ+U(^EyL1LQX01Ck8 _0)
  at PostSharp.Sdk.Binary.ModuleReader.ImportCustomAttributes()
  at PostSharp.Sdk.Binary.ModuleReader.ImportCustomAttributes(MetadataDeclaration _0)
  at PostSharp.Sdk.CodeModel.Collections.CustomAttributeDeclarationCollection.DoLazyLoading()
  at PostSharp.Sdk.CodeModel.Collections.ElementCollection`1.^7qsXyJec()
  at PostSharp.Sdk.CodeModel.Collections.ElementCollection`1.GetEnumerator()
  at PostSharp.Sdk.Extensibility.Tasks.AnnotationRepositoryTask.^H9TZo5Th(TypeDefDeclaration _0)
  at PostSharp.Sdk.Extensibility.Tasks.AnnotationRepositoryTask.^wwGmHrz+(IAnnotationInstance _0)
  at PostSharp.Sdk.Extensibility.Tasks.AnnotationRepositoryTask.Execute()
  at PostSharp.Sdk.Extensibility.Project.ExecutePhase(String phase)
  at PostSharp.Sdk.Extensibility.Project.Execute()
  at PostSharp.Hosting.PostSharpObject.ExecuteProjects()
  at PostSharp.Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation).

当我将newtonsoft.json降级回 11.0.2 时,解决方案构建良好。

是否可以在不出现后夏普错误的情况下更新此newtonsoft.json?

C# .NET 后夏普

评论

1赞 StriplingWarrior 7/15/2022
您能否将 postsharp 更新到更新版本?
0赞 DuroForce 7/15/2022
有许多代码机会和参考可以更新PostSharp。我们现在不想走那条路

答:

0赞 Gael Fraiteur 7/15/2022 #1

这当然是 2015 年发布的 PostSharp 4.2 中的一个错误,但目前不受支持。请更新到受支持的版本。