2010-02-02 7 views
5

"MyCompany.Core"형식으로 회사의 둘 이상의 프로젝트에 유용한 네임 스페이스가 있다고 가정하면 정확히 같은 방법으로 어셈블리를 만들거나 "코어"로 만들겠습니까? 그 이유는 무엇?어셈블리 명명 규칙

답변

13

표준 .NET 명명 규칙을 사용하면 어셈블리 이름은 covered here입니다.

을 같은 System.Data 등 기능의 큰 덩어리를 제안 어셈블리 DLL을 의 이름을 선택 함 : 본인은 당신에게 (짧은)을 절약 할 수 있습니다. 어셈블리 및 DLL 이름은 네임 스페이스 이름에 해당하는 일 필요는 없지만 어셈블리 이름을 지정할 때 네임 스페이스 이름을 따르는 것이 좋습니다 ( ).

은 다음 패턴에 따라 명명 DLL을 고려해 <Component> 하나 이상의 구분 점 절 포함
<Company>.<Component>.dll
.

예 : Contoso.WebControls.dll.

+0

적어도 동일한 VS 솔루션 내에서 어셈블리 이름 리팩터링 (Resharper?)을 수행하기위한 팁은 무엇입니까? – Berryl

+0

프로젝트 + 속성, 응용 프로그램 탭, 어셈블리 이름. –

4

어셈블리 이름을 루트 네임 스페이스와 동일하게 지정합니다. 이렇게하면 어떤 코드가 어셈블리에 있는지 쉽게 파악할 수 있으며 모호한 이름 "Core.dll"을 사용하는 다른 프로젝트 (다른 ​​회사)와의 충돌을 방지 할 수 있습니다.

5

여기에 포함 된 루트 네임 스페이스 다음에 어셈블리 이름을 지정하는 것이 가장 좋습니다 (여기에 의견!) MyCompany.Core.dll. 그 파일이 회사 외부로 나아갈 지 알 수 없으며, 파일을 추적하는 것이 일반적으로 더 쉽습니다. 마이크로 소프트는 System.Core 단지 Core.dll(System.Core)라는 이름의 경우

당신은 빨리 털이 도착 상상 .... 다음 Core.dll (MyCompany.Core)을했다 상상해보십시오.

3

나는 MyCompany.ApplicationName.Core.DLL을 선호합니다. MyCompany에서 두 개 이상의 응용 프로그램이있는 경우 충돌이 발생하지 않습니다.

0

엔터프라이즈 환경에서 개발하는,이 규칙이 유용 할 수 있습니다 경우 :...

네임 스페이스가 따르는 [DomainEntityName] [의 AssemblyName] [목적] [RelatedPurpose]를 DomainEntityName 루트 비즈니스 기능 이름 형식과 AssemblyName은 비즈니스 요구 사항을 지원하는 기능입니다.