質問: 外部の自作ツールで Resources.resx を上書き更新しているのですが、そのままでは Resources.Designers.cs が更新されません。 VisualStudio で Resources.resx を開いて保存操作をすることで Resources.Designers.cs は更新されるのですが、毎回手間ですのでこれを自動化したいと考えています。 どのようにすれば実現できるでしょうか? --- * Visual Studio 2019 Community * .NET Framework 4.7.2, WPF
回答: `Resources.Designers.cs`は.NET Framework 2.0で追加された**厳密に型指定されたリソースクラス**を格納するソースコードファイルです。このコードを生成する方法はいくつかあります。 * StronglyTypedResourceBuilder Class 以下の方法はいずれも最終的にはこのクラスを用いてコード生成しています。.NETクラスライブラリの一部ですので「外部の自作ツール」に埋め込むことも可能です。 * ResGen.exe; リソース ファイル ジェネレーター `/str`オプションでコード生成することができます。 * GenerateResource タスク ビルド時に`.resx`ファイルから`.resources`ファイルを生成するタスクですが、パラメーターを指定することで、コード生成させることもできます。 * Run Custom Tool Solution Explorerの`.resx`を右クリックし`Run Custom Tool`をクリックするとカスタムツールが実行されます。`.resx`の場合はコード生成されるよう構成されています。