2012-03-22 4 views
3

C#에서 dll을 참조 할 때 로컬 경로가 있습니다. 그래서 다른 컴퓨터에서 실행할 때 찾을 수 없습니다. DLL을 추가하여 로컬 폴더를 찾지 못하도록하려면 어떻게합니까?C#에서 dll 참조하기

다른 컴퓨터에서 프로그램을 실행하면 "네임 스페이스를 찾을 수 없습니다. 사용 지시문이나 어셈블리 참조가 누락 되었습니까?"

내가 어디에서나 찾을 수 없기 때문에 잘못된 키워드를 찾아야합니다.

+0

귀하의 앱과 함께 귀하의 dll을 원격 컴퓨터에 복사한다고 가정합니다. – payo

+2

다른 컴퓨터에서 프로그램을 컴파일하려고 시도하면 오류가 발생합니다. * 실행하려고하면 실패 할 것입니다. 왜 그냥 프로그램과 함께 DLL을 복사하지 않습니까? –

답변

10

References 영역에서 마우스 오른쪽 버튼을 클릭하고 속성으로 이동 한 다음 "로컬 복사"를 True로 설정하십시오. 이렇게하면 dll이 출력용/bin 폴더에 복사되어 배포되고 DLL없이 컴퓨터에 대한 종속성을 해결해야합니다.

+0

감사합니다. mello가 내가 필요한 것입니다. – Ryan

+0

@ l3v 그 질문에 대한 답변, 당신은 대답으로 받아 들여야한다 :) –

1

어셈블리 참조에는 경로 (로컬 또는 기타)가 없습니다. 참조 된 어셈블리 이름 만. ildasm을 사용하여 직접 확인할 수 있으며 어셈블리 매니페스트를 두 번 클릭합니다.

참조 된 어셈블리는 다른 컴퓨터에서 액세스 할 수 있어야합니다. 같은 디렉터리 또는 검색 경로 또는 GAC에 있습니다. 클라이언트 컴퓨터에 모든 종속성을 배포하는 것이 귀하의 배포 프로그램 (스크립트, 설치 또는 기타)입니다.