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>
ネストされたリソースは、ソリューションエクスプローラでの予期しないアイコンを持っているが、少なくとも彼らは、デフォルトでは非表示になっています。