문제가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 제거가 정상적으로 작동합니다. 다른 누구도이 제한 사항을 겪었습니까?
OK PostSharp 수정되었습니다입니다 : 어떤 기괴한 코드베이스에서 이것이 실제 문제인가? 128 개의 속성을 갖는 모든 타입을 가지는 것은 충분히 미친 짓이지만, 익명의 타입으로 만드는 것은 그저 측면에 추가적으로 필요한 것입니다. 이렇게 생성 된 코드가 PostSharp를 실행합니까? 대신 사전을 사용하는 것이 어떻습니까? 포스트 샤프 (PostSharp)가 이러한 한계를 해결한다고해도 거대한 부동산 가방에 더 많은 문제가 발생할 가능성이 있습니다. 이들을 효율적으로 열거하면 픽닉이 될 수 없습니다. –
이 문제를보고 해주셔서 감사합니다. PostSharp 팀이이를 조사하고 더 많은 정보를 얻으면 다시 연락을 드리겠습니다. – AlexD
@JeroenMostert 엔터프라이즈 소프트웨어에서 작업하고 데이터베이스 계층에서 Dapper 라이브러리를 사용합니다. 익명 형식을 사용하여 SQL 매개 변수를 지정합니다. –