2009-12-16 5 views
1

비즈니스 및 데이터 계층을 클래스 라이브러리로 포함하는 두 번째 솔루션과 함께 웹 응용 프로그램 프로젝트 (aspx 페이지 당 3 개의 파일)를 상속 받았습니다. 빈 솔루션을 만들었고 클래스 라이브러리 프로젝트를 웹 애플리케이션과 함께 추가했습니다. 그런 다음 웹 응용 프로그램에서 클래스 라이브러리에 대한 참조를 추가했습니다.ASP.NET 웹 응용 프로그램의 파서 오류

파서 오류 메시지 : 유형 'Electro_Spec.Masters.MasterPage가'모호합니다 : 그것은 어셈블리 'C에서 올 수 : \ 프로젝트 \ esWOT3 홈페이지 \ 내가 사이트를 디버깅하려고 할 때, 나는 파서 오류 \ bin \ Electro-Spec.DLL '또는 어셈블리'C : \ projects \ esWOT3 \ WebSite \ bin \ WebSite.DLL '에서 가져올 수 있습니다. 형식 이름에 명시 적으로 어셈블리를 지정하십시오.

왜 이렇게 될까요? 어떻게 해결할 수 있습니까?

EDIT Electo_Spec.dll에 대한 유일한 참조는 웹 응용 프로그램 "refrences"에서 왔으며 클래스 라이브러리는 기존 프로젝트에 대한 참조 추가 대화 상자를 통해 사이트에 추가되었습니다. 제거하면 사이트가 컴파일되지 않습니다. 또한 웹 응용 프로그램의 이름은 WebSite입니다. . . 따라서 "Website.dll". . . 나는 웹 응용 프로그램 (.net 웹 사이트와 비교하여)에 익숙하지 않기 때문에 믿습니다. 아, 그리고 이것은 모두 빈 솔루션으로 만들어졌습니다. 또한 MasterPage1 아무 소용이 MasterPage 이름 바꾸기 시도했다.

답변

2

Electro_Spec.Masters.MasterPage 클래스는 두 프로젝트에 모두 정의되어 있습니다.

두 프로젝트 중 하나에서 Electro_Spec.Masters.MasterPage을 제거하거나 두 MasterPage 클래스 중 하나의 네임 스페이스를 변경하십시오.

+0

을이 네임 스페이스 충돌 ** ALL이 있었다 밝혀 ** 오버 프로젝트. . . 프로덕션 코드 기반이라고 들었지만 컴파일 방법에 대한 단서가 없습니다. .aspx.cs 및 .aspx.designer 파일에서 클래스 선언의 이름을 모두 바꾼 끝에 .aspx 페이지의 Inherits 특성을 해당 클래스 이름과 일치하도록 변경했습니다. 이 문제가 해결되었습니다. 감사. – andrewWinn

1

글쎄, 그 두 어셈블리에는 같은 이름 (Type.FullName)을 가진 타입이 있습니다. 그 어셈블리가 동일하지 않은 것이 확실합니까? 그럴 경우 삭제하십시오. 그렇지 않은 경우, 상속에 어셈블리 이름을 추가 같은 속성 : 상속 = "Electro_Spec.Masters.MasterPage, 전기 사양"

+0

나는 프로젝트가 창조적으로 지명 되었기 때문에 WebSite.DLL이 사이트 자체에 대한 .dll임을 믿는다. :) – andrewWinn

관련 문제