제목 : Re : ASP.NET 3.5 쇼핑몰 프로젝트 강의듣고 있습니다.
글번호:
|
|
808
|
작성자:
|
|
레드플러스
|
작성일:
|
|
2010/04/22 오후 3:16:00
|
조회수:
|
|
4445
|
안녕하세요.
질문하신 내용은
Market 웹 사이트에
ProductDetails 이라는 이름의 클래스가 내부적으로 2개가 생겨서 일시적으로 발생하는 현상입니다.
이를 해결하기 위해서는
ProductDetail.cs 파일이 아닌
ProductDetails.aspx의 페이지 이름을 다른 것으로 바꿔도 됩니다만,
실제 빌드시에는 크게 문제가 되지 않아서 남겨놓은 것입니다.
원칙적으로 따진다면, 하나의 웹 사이트 또는 웹 프로젝트에는 동일한 이름의 클래스는 하나의 클래스만이 들어가야하는데(patial class제외),
제 소스에는
ProductDetails.cs 파일과
ProductDetails.aspx 파일과 동일한 이름을 사용하다보니, 내부적으로
빌드시 이름 충돌 문제가 발생합니다.
이런경우를 회피하기 위해서
ProductDetails.aspx 페이지의 코드 비하인드쪽 클래스는
ProductDetailsPage 클래스로...
ProductDetails.ascx 페이지의 코드 비하인드쪽 클래스는
ProductDetailsControl 클래스로
웹 폼은 Page 접미사, 웹 사용자 정의 컨트롤은 Control 접미사를 붙이는
방법도 하나의 방법입니다.
물론, 전체 프로젝트내에서 클래스명을 딱 하나씩만 사용하는게 제일 좋구요...
Market은 제가 강의용으로 만들어놓은 것이라서,
이러한 접미사 붙이는 의미에 대해서는 설명을 해 놓았습니다.
참고하시기 바랍니다...
On 2010-04-21 오전 11:32:00, '용써니' wrote:
------------------------------------------------------------
>안녕하세요!! 강의 잘 듣고 있습니다..^^
>
>다름이 아니라 강의 에서 APP_Code 에 ProductsDB.cs 파일에
>2개의 클래스가 ProductDetails , ProductsDB 가 들어가는데요
>빌드 하면 1개의 경고 가 뜨고 다시 빌드하면 경고가 없어 집니다.
>처음에 CS 파일 만들때 ProductsDB 라는 이름으로 만들었는데 ProductDetails 클래스를 추가해서 나는 경고 인지 아니면 다른 경고 인지 모르겠습니다.
>ProductDetails 클래스를 다른 CS 파일로 만드면 되겠지만 한 CS 파일에 2개의 클래스가 올수 없는것도 아닐테고 경고가 왜 나는지 질문 드립니다.ㅠ
>
>경고 내용은 아래와 같습니다.
>
>경고
>1c:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\market\76a0691b\651b3477\App_Web_rhvzilal.41.cs'의 'ProductDetails' 형식이 'c:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\market\76a0691b\651b3477\App_Code.ja-c6w5t.dll'의 가져온 형식 'ProductDetails'과(와) 충돌합니다. 'c:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\market\76a0691b\651b3477\App_Web_rhvzilal.41.cs'에 정의된 형식을 사용합니다. c:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files\market\76a0691b\651b3477\App_Web_rhvzilal.40.cs
>
------------------------------------------------------------