2012-07-20 2 views
0

Linqpad 쿼리 실행과 함께 관리되지 않는 어셈블리를 포함하려면 어떻게해야합니까?Linqpad 쿼리에 비 관리 배포가 필요합니다.

최신 베타 버전 (v4.42.06)을 실행 중입니다. f4 Query 속성을 통해 작업 관리되는 어셈블리에 대한 참조를 추가했습니다. Linqpad의 어셈블리에서 클래스와 메서드에 액세스하기위한 코드를 넣었습니다. 실행을 클릭하면 열 수없는 (실제로이 경우 찾을 수 있음)라는 내부 예외가 발생했습니다. 종속적 인 관리되지 않음 일반적으로 디렉토리의 관리되는 어셈블리와 함께 상주하는 어셈블리.

이제 Linqpad를 찾아보고 추가 된 관리되는 어셈블리가있는 관리되지 않는 어셈블리가 존재하며 동일한 방법 (f4)으로 관리되지 않는 어셈블리를 추가 할 수 있지만 프로세스의 결과에는 영향을 미치지 않습니다.

이 모듈을 Visual Studio에서 단위 테스트 할 때 단위 테스트 메서드에 DeploymentItem 특성을 추가하고 코드를 실행할 수 있습니다.

임마누지드 어셈블리 배포 항목으로 Linqpad를 실행하려면 어떻게해야합니까?

+2

'어셈블리 참조 섀도우 작업 금지'를 true로 설정하면 (편집/기본 설정/고급에서) 작동합니까? – sgmoore

+0

@sgmoore 그 작품! – OmegaMan

+0

@sgmoore이 질문을 끝내려면 대답으로 넣으십시오. 답으로 표시하겠습니다. – OmegaMan

답변

2

설정 섀도 잉은 DLL을 다른 폴더에 복사하고 거기에서로드 의미

(편집/기본/고급에) 참으로 '어셈블리가를 참조 그림자하지 마십시오'. 그러나 각 dll은 별도의 폴더에 복사되므로 관리되는 dll은 관리되지 않는 dll과 같은 폴더에 더 이상 존재하지 않으므로 서로를 찾을 수 없습니다.

어셈블리 참조를 음영 처리하지 않도록 옵션을 설정하면 dll이 원래 위치에서로드됩니다.