PostSharp不能使用带有>的匿名类型127个房产

时间:2016-12-23 04:22:01

标签: c# .net visual-studio postsharp

问题已在PostSharp 4.3.27

中修复

在C#中给出以下代码

 var obj = new
 {
     p0 = 0,
     p1 = 1
     p2 = 2,
     // and so on until 127 ...
     p127 = 127
 }

尝试在启用PostSharp的情况下构建项目时出现此错误:

  

严重级代码说明项目文件行抑制状态
  错误错误:
  未处理的异常(4.3.25.0,postsharp-net40-x86-srv.exe,CLR 4.0.30319.394802,Release):文件c:\ users \ johnm \ documents \ visual studio 2015 \ Projects \ PostSharpTest \ PostSharpTest \ obj \ Debug \ Before-PostSharp \ PostSharpTest.exe不是有效的.NET程序集。请参阅下文了解详情。 PostSharpTest c:\ users \ johnm \ documents \ visual studio 2015 \ Projects \ PostSharpTest \ PostSharpTest \ POSTSHARP
      错误System.BadImageFormatException:文件c:\ users \ johnm \ documents \ visual studio 2015 \ Projects \ PostSharpTest \ PostSharpTest \ _ obj \ Debug \ Before-PostSharp \ PostSharpTest.exe不是有效的.NET程序集。 ---> PostSharp.Sdk.AssertionFailedException:类型签名中位置元素类型的枚举^ Bw + U + DEY6J8e的值128无效。          在PostSharp.Sdk.Binary.ModuleReader.ReadTypeSignature(BufferReader& _0)          在PostSharp.Sdk.Binary.ModuleReader.ReadTypeSignature(BufferReader& _0)          在PostSharp.Sdk.Binary.ModuleReader.ImportTypeSpec(Int32 _0)          在PostSharp.Sdk.Binary.ModuleReader.ImportTypeSpecs()          在PostSharp.Sdk.Binary.ModuleReader.ReadModule()          在PostSharp.Sdk.Binary.ModuleReader.ReadModule()          在PostSharp.Sdk.Binary.ModuleReader.ReadModule(ReadModuleStrategy _0)          在PostSharp.Sdk.CodeModel.Domain.LoadAssembly(String assemblyLocation,LoadAssemblyOptions options)          在PostSharp.Sdk.Extensibility.ModuleLoadDirectFromFileStrategy.Load(域域)          在PostSharp.Sdk.Extensibility.Project。^ LvMUl75 +(ModuleLoadStrategy _0)          在PostSharp.Sdk.Extensibility.Project。^ 63o9P8x3(ModuleDeclaration _0,ModuleLoadStrategy _1,Domain _2,ProjectInvocationParameters _3,Boolean _4)          在PostSharp.Sdk.Extensibility.Project.CreateInstance(域域,ProjectInvocation projectInvocation,Boolean reuseDomain)          在PostSharp.Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation)          在PostSharp.Hosting.Program.ExecuteImpl()PostSharpTest c:\ users \ johnm \ documents \ visual studio 2015 \ Projects \ PostSharpTest \ PostSharpTest \ POSTSHARP

消息

  

枚举的值 128 无效^ Bw + U + DEY6J8e在类型签名中的位置元素类型。

似乎有一些意义,但我不熟悉PostSharp内部。

删除p127工作正常。还有其他人遇到过这种限制吗?

2 个答案:

答案 0 :(得分:1)

这在PostSharp 4.3.27

中得到修复

答案 1 :(得分:-1)

MulticastTargets枚举

多播自定义属性(MulticastAttribute)可以应用的各种目标。

因此InstanceConstructor的最大值为128

Taken from here.