Resources.designer.cs の生成に使用される Resources.resx があります。Resources.designer.cs をチェックインする必要がありますか?それとも、必要に応じて Visual Studio が生成することに依存できますか?
3 に答える
私の好みは次のとおりです。ビルドシステムによって変更された場合は、ビルドプロセスで作成され、チェックインしないようにしてください。
'designer'のような自動生成されたファイルの場合、チェックインします。他のコンポーネントが(私によって)変更された場合にのみ変更されます。VSによって生成され、ビルドシステムによって変更されません。
私が経験している問題についてあなたの投稿に出くわしましたが、まったく同じではありませんが、一時的な解決策を見つけるのに役立ちました. これはあなたを助けるかもしれないと私が見つけたものです…
単純な文字列リソース ファイルを作成しています。次に、修正した CodeProject プログラムを使用して、それを外国語に翻訳します。(コードが安定したら、専門サービスを利用します) ユーティリティは、designer.cs ファイルを作成しません。すべてを再構築しても、ファイルは再作成されませんでした。外部ツール (Visual Studio デザイナーではない) を使用して resx ファイルを変更すると、同期された変更が失われるようです。私の場合、デザイナー ファイルは、文字列をプロパティ名に厳密に型指定するためだけに使用されます。ID を使用して文字列を取得する場合 (古い方法)、これらのファイルはまったく必要ないため、ソース管理にチェックインする必要はありません。ただし、これらの文字列への厳密に型指定されたアクセス (より現代的な方法) を使用している場合は、それらをチェックインする必要があります。
余談ですが…これらのdesigner.csファイルをresxカウンターパーツと再同期する方法を見つけました。それが私の問題だったので…必要でした。ソリューション エクスプローラーで resx ファイルを選択し、CustomTool プロパティを PublicResXFileCodeGenerator に設定すると、 designer.csファイルが即座に作成されました。残念ながら、すでに設定されている場合は、設定を解除してから再設定してファイルを作成する必要があります。自動化された手段でこれらを強制的に再作成する方法を誰かが知っていれば…本当に感謝します。
ありがとう。
このファイルに関するビルド シナリオについては 100% 確信が持てません。アプリケーションをビルドするたびにStudio、またはより適切にはmsbuildがファイルを再生成する可能性が高いと思いますが、よくわかりません。
いずれにせよ、いくつかの理由でこのファイルをチェックインします
- これは、Visual Studio のほとんどのソース管理プロバイダーの既定です。彼らはこの問題について私よりもずっと真剣に考えており、おそらくこれを行う十分な理由があるでしょう
- デバッグ: Resource.Designer.cs に問題が発生する可能性はほとんどありませんが、問題が発生した場合は、アタッチ/デバッグする前にビルドする必要があります。
- ソース管理は、ソースの履歴である必要があります。アプリケーションに関連するすべてのソースを表示できないとしたら、それは何の役に立つでしょう。
最初の理由が最も重要です