2010-01-11 10 views
10

폴더에 구성된 여러 리소스 파일을 포함하는 C# 클래스 라이브러리가 있습니다. 생성 된 클래스가 모두 동일한 네임 스페이스에 있어야하므로 각 리소스 파일의 CustomToolNamespace 속성을 설정합니다.Visual Studio 리소스 생성 - 사용자 지정 도구 네임 스페이스

그러나 Reflector를 통해 클래스가 모두 동일한 네임 스페이스에서 생성되지만 임베디드 리소스에 대한 경로에는 리소스 파일이있는 디렉터리 이름이 포함되어 있음을 발견했습니다.

FolderCustomNamespaceRes.resx폴더라는 이름의 디렉토리 내에 배치 된 프로젝트의 예를 들어.

제거 죽은 ImageShack 링크를

그리고 FolderCustomNamespaceRes.resx가 PublicResourcesTest로 설정을 위해 CustomToolNamespace은 반사기가 포함 된 리소스 어셈블리 경로 PublicResourcesTest 것을 나타내고. 폴더 .FolderCustomNamespaceRes.resources

제거 죽은 ImageShack 링크

이 버그인가, 아니면 내가 뭔가를 놓친 거지

?

답변

7

일부 검색 후 임베디드 리소스의 매니페스트 이름을 .cspproj 파일에 메타 데이터를 추가하여 제어 할 수 있다는 것을 알았습니다.

당신은 같은 것 전에 :

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx"> 
    <Generator>PublicResXFileCodeGenerator</Generator> 
    <LastGenOutput>FolderCustomNamespaceRes.Designer.cs</LastGenOutput> 
    <CustomToolNamespace>PublicResourcesTest</CustomToolNamespace> 
</EmbeddedResource> 

을 그리고 당신은 추가해야 매니페스트 이름 제어 : ReSharper에서 옵션을 손에 경우에 적용 할 수 없습니다

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx"> 
    .... 
    <LogicalName>$(RootNamespace).FolderCustomNamespaceRes.resources</LogicalName> 
</EmbeddedResource> 
0

이것은 IDE에 의해 자동으로 수행되므로 버그가 아니지만, 불행히도이 동작을 억제 할 수있는 유일한 방법은 윤곽이 표시된 ReSharper를 사용하는 것입니다. here.

+0

것을. 리소스 생성은 Visual Studio에서 제공하는 사용자 지정 도구로 제어됩니다. –

관련 문제