10 개 이상의 언어로 번역되는 매우 큰 솔루션 (> 100 개 프로젝트)이 있습니다. 빌드 과정에서 필요한 모든 위성 어셈블리를 생성하는 가장 좋은 방법은 무엇입니까?많은 리소스와 다양한 언어를 사용하는 대규모 솔루션을위한 위성 어셈블리 생성
관련 프로젝트에 현지화 된 RESX 파일을 포함시킬 수 있다는 것을 알고 있지만 개발자에게는 많은 잡음이 발생합니다. 번역은 원격 제어 팀이 독립적으로 소스 제어를 확인하는 원격 팀에서 관리합니다. 또한 새로운 언어 별 리소스를 포함하도록 모든 프로젝트를 수정해야하기 때문에 새로운 언어가 추가 될 때마다 많은 작업이 생성됩니다.
문화권 특정 RESX 파일을 검색하여 프로젝트에 그룹화하고 한꺼번에 위성 어셈블리를 빌드하는 빌드 후 도구가 있습니까?
그렇지 않은 경우 DependentUpon 특성을 사용하여 주 리소스 파일 아래의 Visual Studio 솔루션 탐색기에서 지역화 된 리소스를 숨길 수 있습니다. Visual Studio UI에서는이 작업을 수행 할 수 없으므로이 패턴을 모든 프로젝트의 모든 리소스 파일에 적용하는 도구를 만들어야합니다. 그 결과 프로젝트 파일은 다음과 같이 보일 것입니다 :
<ItemGroup>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.de.resx">
<DependentUpon>Resources.resx</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.fr.resx">
<DependentUpon>Resources.resx</DependentUpon>
</EmbeddedResource>
</ItemGroup>
중첩 된 자원은 솔루션 탐색기에서 예기치 않은 아이콘이 있지만, 적어도 그들은 기본적으로 숨겨져 있습니다.