문제

코드를 작동시키고있는 프로젝트 중 하나에서 .NET DLL에서 Assembly.LoadFrom 기능을 사용하여 완전히 신뢰할 수있는 어셈블리로 동적으로로드됩니다.지금까지 이것은 문제없이 100 % 일하고 있습니다.

이제 위의 Assembly.LoadFrom를 사용하여로드 해야하는 / clr : 순수한 Visual C ++ DLL이 있습니다.나는 내가 정말로 이상한 일이 될 때 BadimageFormatexception을 얻는다.

Visual C ++ 프로젝트에는 3 가지 유형의 CLR 컴파일 옵션이 있습니다.

/ clr

/ clr : 순수

/ clr : safe

나에게 주어진 지침에 따라 / clr : 순수한 아래에서 컴파일해야합니다.내 문제는 / clr을 사용하고 있습니다. 순수 예외를 던졌습니다.내가 그것을 / clr로 바꾸면 예외가 발생합니다.내가 그것을 / clr로 바꾸면 안전을 던지지 않고도로드 (내 테스트가 종료 된이 테스트가 종료 된).

그래서 이것은 이것이 실제로 두 부분의 질문입니다 :

1) 왜 / clr : 안전한 일이지만 다른 두 사람은 아닌 이유는 무엇입니까?

2) / clr와 함께 작동하는 방법은 무엇입니까?

미리 감사드립니다!

도움이 되었습니까?

해결책

연구 후이 방법은 혼합 된 어셈블리를 적재 할 수 없습니다.그들은 단지 순수한 msil 일 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top