2009-08-05 3 views
4

어떻게 내 ASP.NET 응용 프로그램에 대한 내 bin 폴더에 여러 DLL을 취할 수 있습니다 별도의 폴더로 그들을 구성하고 그들이 여전히 빈에 대한 루트에있는 것처럼 응용 프로그램에 쉽게 액세스 할 수 있도록 bin 디렉터리 아래에 두십시오 ? 나는 dll의 괴물 같은 명부를 줄이고 그들의 주요 목적과 관련있는 폴더로 분류하고 싶다.ASP.NET에서 bin 디렉토리 아래에서 여러 폴더로 내 dll을 구성하려면 어떻게해야합니까?

+2

어셈블리 파일 이름이 적절히 명명되어 있습니다. somenamespace.somecontext.classname은 어떤면에서 도움이됩니다. 귀하의 질문에 대답하지 않지만 이것은 DLL의 긴 목록을 '관리'하기 위해서입니다. –

답변

4

web.config 파일을 사용하고 <probing> 요소를 지정하여 응용 프로그램이 어셈블리를로드 할 다른 디렉토리를 조사하도록 할 수 있습니다. 나는 그것이 몇 년 전에 없었던 것처럼 웹 사이트 유형 프로젝트에서 지금 작동하는지 여부에 관해서는 명확하지 않다. 그러나 웹 응용 프로그램 유형 프로젝트에서 작동해야합니다.

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="bin\subdir"/> 
    </assemblyBinding> 
    </runtime> 
    <system.web> 
     .... 
     .... 
    </system.web> 
</configuration> 
+1

가 나타났습니다. 내 대답을 쓸 때였습니다. –

+0

이것은 내 질문에 대한 대답이지만이 문제의 모범 사례에 대한 의견을 얻기를 바랍니다. – Achilles

+1

이 기능을 사용하는 이유는 상황을 유연하게 처리 할 수 ​​있기 때문입니다. 항상 모범 사례가 있지만 모서리 사례도 항상 있습니다. 나는 단지 "do not"대신에 왜 나쁜지에 대한 증거를보고 싶습니다. – womp

1

하지 마십시오. 그것이 작동하더라도, 그것은 다른 사람에 의해 이해되지 않을 것이다.

bin 폴더에있는 어셈블리의 수가 많지 않다면 거기를 보지 마십시오.

+0

우리는 명확하게 정의 된 코드 모듈을 가지고 있습니다. 어떤 의미에서 dll이 코드의 특정 부분과 관련되어 있는지 문서화하기 위해 디렉토리 구조를 사용하고자합니다. 이 접근법에 대한 제안 사항은 무엇입니까? – Achilles

+1

예, 다시하지 마십시오. 그것은 단순히 그것이 작동하는 방법이 아닙니다. 문서를 사용하여 문서화 할 수 있지만 bin 또는 다른 _implementation_ 폴더와 함께 사용하지 마십시오. –

+0

나도 그러지 마! – Juri

0

가 있습니까 ... 나는 assemblyBinding Element for runtime를 사용과 접근 방식이 너무 .NET 2.0

위해 일할 수 있다고 생각하지만 나는 그것을 사용하지 않는 것이 좋습니다 동의 컴파일 후에 앱에 의해 생성 된 dll 또는 앱이 사용하는 타사 및 외부 DLL을 구성하려고합니까?

후자의 경우 아직 앱 외부에서 선택한 모든 계층 구조로 구성 할 수 있습니다 (솔루션 내부). 거기에서 dll을 참조 할 수 있습니다.

asp.net 컴파일러 생성 파일을 구성하려고하면 업스트림에서 수영하는 것처럼 느껴집니다.

관련 문제