PostSharp 不能使用具有 > 127 个属性的匿名类型
PostSharp cannot use anonymous types with > 127 properties
问题已在 PostSharp 4.3.27 中修复
给定以下 C# 代码
var obj = new
{
p0 = 0,
p1 = 1
p2 = 2,
// and so on until 127 ...
p127 = 127
}
我在尝试构建启用了 PostSharp 的项目时遇到此错误:
Severity Code Description Project File Line Suppression State
Error error:
Unhandled exception (4.3.25.0, postsharp-net40-x86-srv.exe, CLR 4.0.30319.394802, Release): The file c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\obj\Debug\Before-PostSharp\PostSharpTest.exe is not a valid .NET assembly. See below for details. PostSharpTest c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\POSTSHARP
Error System.BadImageFormatException: The file c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\obj\Debug\Before-PostSharp\PostSharpTest.exe is not a valid .NET assembly. ---> PostSharp.Sdk.AssertionFailedException: Invalid value 128 for enumeration ^Bw+U+DEY6J8e at location element type in type signature.
at PostSharp.Sdk.Binary.ModuleReader.ReadTypeSignature(BufferReader& _0)
at PostSharp.Sdk.Binary.ModuleReader.ReadTypeSignature(BufferReader& _0)
at PostSharp.Sdk.Binary.ModuleReader.ImportTypeSpec(Int32 _0)
at PostSharp.Sdk.Binary.ModuleReader.ImportTypeSpecs()
at PostSharp.Sdk.Binary.ModuleReader.ReadModule()
at PostSharp.Sdk.Binary.ModuleReader.ReadModule()
at PostSharp.Sdk.Binary.ModuleReader.ReadModule(ReadModuleStrategy _0)
at PostSharp.Sdk.CodeModel.Domain.LoadAssembly(String assemblyLocation, LoadAssemblyOptions options)
at PostSharp.Sdk.Extensibility.ModuleLoadDirectFromFileStrategy.Load(Domain domain)
at PostSharp.Sdk.Extensibility.Project.^LvMUl75+(ModuleLoadStrategy _0)
at PostSharp.Sdk.Extensibility.Project.^63o9P8x3(ModuleDeclaration _0, ModuleLoadStrategy _1, Domain _2, ProjectInvocationParameters _3, Boolean _4)
at PostSharp.Sdk.Extensibility.Project.CreateInstance(Domain domain, ProjectInvocation projectInvocation, Boolean reuseDomain)
at PostSharp.Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation)
at PostSharp.Hosting.Program.ExecuteImpl() PostSharpTest c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\POSTSHARP
留言
Invalid value 128 for enumeration ^Bw+U+DEY6J8e at location element type in type signature.
似乎有点意义,但我不熟悉 PostSharp 内部结构。
删除 p127 工作正常。还有其他人遇到过这个限制吗?
MulticastTargets 枚举
可以应用多播自定义属性 (MulticastAttribute) 的目标种类。
所以 InstanceConstructor 的最大值是 128
这已在 PostSharp 4.3.27 中修复
问题已在 PostSharp 4.3.27 中修复
给定以下 C# 代码
var obj = new
{
p0 = 0,
p1 = 1
p2 = 2,
// and so on until 127 ...
p127 = 127
}
我在尝试构建启用了 PostSharp 的项目时遇到此错误:
Severity Code Description Project File Line Suppression State
Error error:
Unhandled exception (4.3.25.0, postsharp-net40-x86-srv.exe, CLR 4.0.30319.394802, Release): The file c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\obj\Debug\Before-PostSharp\PostSharpTest.exe is not a valid .NET assembly. See below for details. PostSharpTest c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\POSTSHARP
Error System.BadImageFormatException: The file c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\obj\Debug\Before-PostSharp\PostSharpTest.exe is not a valid .NET assembly. ---> PostSharp.Sdk.AssertionFailedException: Invalid value 128 for enumeration ^Bw+U+DEY6J8e at location element type in type signature. at PostSharp.Sdk.Binary.ModuleReader.ReadTypeSignature(BufferReader& _0) at PostSharp.Sdk.Binary.ModuleReader.ReadTypeSignature(BufferReader& _0) at PostSharp.Sdk.Binary.ModuleReader.ImportTypeSpec(Int32 _0) at PostSharp.Sdk.Binary.ModuleReader.ImportTypeSpecs() at PostSharp.Sdk.Binary.ModuleReader.ReadModule() at PostSharp.Sdk.Binary.ModuleReader.ReadModule() at PostSharp.Sdk.Binary.ModuleReader.ReadModule(ReadModuleStrategy _0) at PostSharp.Sdk.CodeModel.Domain.LoadAssembly(String assemblyLocation, LoadAssemblyOptions options) at PostSharp.Sdk.Extensibility.ModuleLoadDirectFromFileStrategy.Load(Domain domain) at PostSharp.Sdk.Extensibility.Project.^LvMUl75+(ModuleLoadStrategy _0) at PostSharp.Sdk.Extensibility.Project.^63o9P8x3(ModuleDeclaration _0, ModuleLoadStrategy _1, Domain _2, ProjectInvocationParameters _3, Boolean _4) at PostSharp.Sdk.Extensibility.Project.CreateInstance(Domain domain, ProjectInvocation projectInvocation, Boolean reuseDomain) at PostSharp.Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation) at PostSharp.Hosting.Program.ExecuteImpl() PostSharpTest c:\users\johnm\documents\visual studio 2015\Projects\PostSharpTest\PostSharpTest\POSTSHARP
留言
Invalid value 128 for enumeration ^Bw+U+DEY6J8e at location element type in type signature.
似乎有点意义,但我不熟悉 PostSharp 内部结构。
删除 p127 工作正常。还有其他人遇到过这个限制吗?
MulticastTargets 枚举
可以应用多播自定义属性 (MulticastAttribute) 的目标种类。
所以 InstanceConstructor 的最大值是 128
这已在 PostSharp 4.3.27 中修复