2009-10-05 3 views
0

사실 내 프로젝트에 대해 두 개의 외부 DLL을 참조하는 참조를 사용합니다. 참조로 경로를 설정하고 싶지만 C#을 사용하여 응용 프로그램 경로에서 DLL을 검색하십시오.app.config의 dll 참조?

myapp에 ".netlibs"라는 폴더를 만들고 거기에 내 dll을 넣고 References 섹션에서 제거했습니다.

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <probing privatePath=".netlibs" /> 
</assemblyBinding> 

을하지만 그것은 작동하지 않습니다 :

나는이의 app.config에 넣어?

내가 무엇인가 놓친다면 사람들을 알고 있니?

미리 감사드립니다.

+0

"작동하지 않음"을 설명하십시오. 오류가 있습니까? 더 이상 참조하지 않으면 어떻게로드합니까? 몇 가지 코드를 보여주십시오. –

+0

안녕하세요. 컴파일 할 때 오류가 발생합니다. 형식 또는 네임 스페이스 "xxxxxx"을 (를) 찾을 수 없습니다. –

답변

0

어셈블리 검사는 런타임에만 제공됩니다. 컴파일시에는 항상 프로젝트의 외부 어셈블리에 대한 참조가 필요합니다.

귀하의 의견에서 이해할 수있는 것은 참조없이 프로젝트를 컴파일하려고하는 것입니다.

주석 처리 후 편집 : 공통 참조를 소스 제어에 배치하고 상위 참조에있는 참조를 참조하십시오. 참조를 만든 후에 csproj 파일을 열면 경로는 동적이어야합니다 (예 : ../../References/MyReference.dll). 모든 개발자는 최신 어셈블리를 가져와야합니다.

또 다른 옵션은 모든 개발자 컴퓨터의 GAC에 넣는 것입니다.

+0

안녕 Gerrie.You 내 컴파일에 대해 정확합니다. 만약 내가 같은 참조를 넣어 : c : \ developing \ myapp \ .netlibs \ CSzip.dll 컴파일하고 확인을 실행합니다. 그러나 제 동료가 프로젝트를 가져 와서 c \ dev \ myapp에 넣으면 참조가 더 이상 동일하지 않게됩니다 : | 그러면 프로젝트를 어떻게 컴파일하고 실행할 것입니까? –

+0

추가 정보를 보내 주셔서 감사합니다. –

+0

감사합니다. dlls '폴더를 응용 프로그램 루트에두고 참조를 추가하는 것이 좋습니다. –

관련 문제