2016-12-23 2 views
3

문제가PostSharp는

PostSharp 4.3.27에 고정

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

내가 함께 프로젝트를 구축을 위해 노력이 오류가 C#에서 다음 코드를 받고있다> 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 제거가 정상적으로 작동합니다. 다른 누구도이 제한 사항을 겪었습니까?

+1

OK PostSharp 수정되었습니다입니다 : 어떤 기괴한 코드베이스에서 이것이 실제 문제인가? 128 개의 속성을 갖는 모든 타입을 가지는 것은 충분히 미친 짓이지만, 익명의 타입으로 만드는 것은 그저 측면에 추가적으로 필요한 것입니다. 이렇게 생성 된 코드가 PostSharp를 실행합니까? 대신 사전을 사용하는 것이 어떻습니까? 포스트 샤프 (PostSharp)가 이러한 한계를 해결한다고해도 거대한 부동산 가방에 더 많은 문제가 발생할 가능성이 있습니다. 이들을 효율적으로 열거하면 픽닉이 될 수 없습니다. –

+2

이 문제를보고 해주셔서 감사합니다. PostSharp 팀이이를 조사하고 더 많은 정보를 얻으면 다시 연락을 드리겠습니다. – AlexD

+0

@JeroenMostert 엔터프라이즈 소프트웨어에서 작업하고 데이터베이스 계층에서 Dapper 라이브러리를 사용합니다. 익명 형식을 사용하여 SQL 매개 변수를 지정합니다. –

답변

1

이 4.3.27

-1

MulticastTargets 열거 목표

종류를하는 멀티 캐스트 사용자 지정 특성 (MulticastAttribute)을 적용 할 수 있습니다. 아무도 bleedingly 명백한 언급하려고하지 않다면

그래서 InstanceConstructor 최대 값을 나는 것, 128

Taken from here.

+0

이 문제와 어떤 관련이 있는지 설명해야합니다. 'MulticastTargets'는 어디에서 어떻게 나오나요? –