2012-01-23 2 views
1

나는 여기서 무슨 일이 일어나고 있는지 약간 혼란 스럽다.MonoDevelop 편집 및 GAC

내 이해는 런타임에 어셈블리가 필요할 때 런타임은 먼저 실행 디렉터리 (또는 종속 실행 파일이있는 디렉터리)에서 어셈블리를로드하려고 시도한다는 것입니다. 그런 다음 GAC에서 어셈블리를 찾습니다.

우선, 나는 Windows를 사용 중입니다.

내 솔루션을 컴파일 할 때 VS (예상대로) 제대로 작동하지만 MonoDevelop에서 같은 솔루션을 컴파일하면 누락 된 log4net 참조와 관련된 오류로 인해 컴파일이 중단됩니다 (정확한 어셈블리 이 상황을 피하려면 GAC에 수동으로 설치해야합니다).

내 질문은 이것입니다 : MonoDevelop 어셈블리를 사용할 수 있는지 확인하려면 컴파일 시간에 GAC 봐 또는 필요한 어셈블리를 제공해야하는 다른 위치가 있습니까?

도움 주셔서 감사합니다. MonoDevelop site에서

답변

1

: 나는 GAC에 어셈블리를 추가

내가 MonoDevelop 프로젝트에 대한 참조를 추가하려고 할 때, 왜 어셈블리 목록에 표시되지 않습니다?

Bacause MonoDevelop는 GAC에서 어셈블리를 찾지 않습니다. Mac 과 Linux에서 MonoDevelop는 pkg-config를 사용하여 설치된 패키지 을 찾고 각 패키지에서 제공하는 어셈블리 목록을 가져옵니다. 패키지는 표준 pkg-config 디렉토리에 설치된 이어야하는 .pc 파일의 어셈블리 목록을 지정합니다. 당신이 라이브러리를 개발하는 경우

, MonoDevelop가 자동으로 는 ("리눅스 배포 설정"을 선택 , 프로젝트 옵션 대화 상자에서, 및 확인 옵션 ".PC 파일을 생성") 프로젝트에 대한 .PC 파일을 생성 할 수 있습니다 .

Windows에서 .NET을 대상으로 지정할 때 MonoDevelop는 VS에서 사용하는 동일한 AssemblyFolders 메커니즘을 사용합니다.

+0

AssemblyFolders 레지스트리에서 지정한 폴더에 어셈블리를 추가했지만 사용하지 못했습니다. 나도 내 자신의 사용자 지정 폴더를 AssemblyFolders 레지스트리에 추가하려고했지만 다시 운이 없다. 그러나 두 경우 모두 어셈블리가 "참조 추가"창에 표시되었습니다. –