방금 VS2008/.NET 3.5/PostSharp 1.5에서 VS2010/.NET4.0/PostSharp 2.0으로 프로젝트를 업그레이드했습니다.PostSharp가 제네릭 메서드에 적용될 때 BadImageException을 발생시킵니다. peverify.exe를 실행할 때 오류가 발생합니다.
System.BadImageFormatException : 시스템의 단위 테스트를 실행할 때
지금, 나는의 형태로 hundereds 예외를 얻을 시도가 잘못된 형식의 프로그램을로드하려고했습니다. (HRESULT에서 예외 : 0x8007000B) COMPANY.Data.NHibernate.BaseRepository.c__Binding`1.Invoke에서 회사에서() 를 PostSharp.Aspects.Internals.MethodInterceptionArgsImpl.Proceed에서 을 (객체 & 예, 인수 인수, aspectArgs 개체). C : \ COMPANY \ Code \ COMPANY-NET4.0 \ Core \ Aop \ TransactionAspectAttribute.cs의 Aop.TransactionAspectAttribute.OnInvoke (MethodInterceptionArgs 컨텍스트) : COMPANY.Data.NHibernate.BaseRepository.Save의 68 줄 (T scoreBigModel) in C : \ COMPANY \ Code \ COMPANY-NET4.0 \ Core \ DataAccess \ NHibernate \ BaseRepository.cs : COMPANY.UnitTests.DataAccess.NHibernate.when_saving_a_canonical_term에서 줄 102 줄. .ctor> b__5() C : \ COMPANY \ Code \ COMPANY-NET4.0 \ UnitTests \ DataAccess \ NHibernate \ CanonicalTermRepositorySpecs.cs : 줄 29 at Machine.Specifications.Utility.RandomExtensionMethods.InvokeIfNotNull (때문에) at Machine.Specifications.Model.Context.EstablishContext()
어셈블리에서 peverify.exe를 실행하면 다음과 같은 형태로 수백 개의 오류가 표시됩니다. 항상 일반적인 방법의 문제 인 것 같습니다.
[IL] : 오류 : [C : \ COMPANY \ Code \ COMPANY-NET4.0 \ Core \ bin \ Debug \ COMPANY.Core.dll : COMPANY.Data.NHibernate .ActivationRepository + c__Binding :: Invoke] [offset 0x0000008D] [찾은 'PostSharp.Aspects.Internals.MethodBinding'] [예상 심판 'PostSharp.Aspects.Internals.MethodBinding`1 [COMPANY.Models.Activation]'] 예기치 않은 유형 켜짐 스택
[IL] : 오류 : [C : \ COMPANY \ 코드 \ COMPANY-NET4.0 \ Core \ bin \ Debug \ COMPANY.Core.dll : COMPANY.Data.NHibernate.ActivationRepository + c__Binding :: Invoke] offset 0x00000056] [찾은 'PostSharp.Aspects.Internals.MethodBinding`1 [COMPANY.Models.Activation]'] [예상 ref 'PostSharp.Aspects.Internals.MethodBinding'] 스택에 예기치 않은 유형이 있습니다.
저는 최신 릴리스의 PostSharp 2.0 RC를 실행하고 있습니다.
당신은이 제품에 대한 베타 테스터이야, 당신은 공급 업체에 의견을 보내해야합니다. 시스템 요구 사항은 VS2010 RC를 요구합니다. VS2010 RTM으로 작동하지 마십시오. –
VS2010 RTM이 지원됩니다. RC는 지원되지 않습니다. 이것은 웹 사이트의 버그입니다. 나는 그것을 바로 잡을 것이다. –