2010-07-23 3 views
3

기존 asp.net webforms 응용 프로그램과 완전히 별개의 솔루션 인 새로 만든 asp.net MVC 2.0 응용 프로그램이 있습니다.하위 asp.net 프로젝트에 상위 dll을 포함해야하는 이유는 무엇입니까?

사용자가 다시 로그인 할 필요가 없기 때문에 MVC 응용 프로그램을 기존 Webforms 응용 프로그램과 동일한 사이트에 배포했습니다. 모든 것이 잘 작동합니다.

Webforms 응용 프로그램은 MVC 응용 프로그램과 아무 관련이없는 타사 DLL을 사용하지만 MVC \ bin 디렉터리에 해당 DLL을 포함하지 않으면 MVC 응용 프로그램을 사용할 수 없습니다. 왜 이것이 필요합니까? 해당 응용 프로그램의 일부가 아닙니다. 심지어 지금은 더 궁금 해서요. 그래서 문제가 생깁니다 ...

MVC 응용 프로그램에 DLL에 대한 의존성이 필요한 이유는 무엇입니까?

+0

당신이 부주의 어셈블리 참조가 있습니까? 어쩌면 web.config에 있습니까? –

+0

좋은 질문이지만, 아니, 절대적으로 그 DLL에 전혀 참조. 두 프로젝트는 web.config에서 동일한 MachineKey를 공유하므로 의존성을 유발할 수 있습니까? 그래도 이해가되지 않습니다 ... –

답변

6

상위 응용 프로그램이 모듈 또는 처리기 섹션의 web.config에서이를 설정하고 IIS 7.0의 IIS 구성 시스템이 web.config 파일을 지원하는 분산/계층 적 구성 시스템을 사용하기 때문입니다.

이 경우 하위 응용 프로그램 web.config는 상위 web.config의 모든 설정을 상속합니다. 안타깝게도 ASP.NET은/bin 디렉터리를 응용 프로그램별로 사용하므로 루트 디렉터리에 포함되어야합니다. 즉, 부모 응용 프로그램의/bin 디렉터리에 DLL을 배포하고 있기 때문에 하위 응용 프로그램은 그것에 대해 아는 것이있다.

당신이 자식 응용 프로그램으로 상속을 중지하도록 당신은 위치 태그를 사용하고 inheritInChildApplications을 설정하는 부모의 web.config를 수정할 수

: http://forums.iis.net/t/994377.aspx

+1

감사합니다 카를로스, 정말 도움이됩니다! 나는 3.5에서 누락 된 인텔리 센스를 알아 차 렸지만, 나는 을 감쌌다. 섹션이 상속되지 않았기 때문에 MVC 사이트에 연결할 때 인증 오류가 발생하기 때문에 문제가 해결되지 않습니다. 계속 시도 하겠지만 인증 오류가 발생하는 이유는 무엇입니까? –

+1

예! 를 추가하여 작동하도록했습니다. Carlos, 정말로 나를 도왔습니다. –

+0

자세한 내용은 여기를 참조하십시오. http://www.hanselman.com/blog/ChangingASPNETWebconfigInheritanceWhenMixingVersionsOfChildApplications.aspx –

관련 문제