問題タブ [satellite-assembly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
181 参照

c# - メイン アセンブリを再コンパイルせずにサテライト アセンブリを追加

4 つの言語で既にローカライズされた WinForms プログラムがあります。1 つの EXE と複数の DLL で構成されています。すべての C# プロジェクトが 1 つのソリューションに含まれています。サテライト アセンブリは、Strings.fr.resxMyForm.it.resxなどのローカライズされたリソース ファイルから自動的に生成されます。

ソース コードは Subversion に保存され、Artifactory で集中管理 (ビルド サーバー) されたバイナリが生成されます。依存関係の解決には Maven が使用されます。バイナリ (スナップショット) の対応するソース コードも Artifactory に保存されます。したがって、バイナリ (DLL、EXE) と対応するソース コードの両方を他のプロジェクトから参照できます。

ここで、再コンパイルせずにプログラムに言語を追加したいと考えています。元のバイナリは変更しないでください

アイデアは、元のプログラム バージョンに依存する (Maven) 追加のソリューションを作成することです。それで、バイナリとソースコードを取得します。次に、バッチ ファイルなどを使用して、元のプロジェクトごとにツール プロジェクトを作成し、サテライト アセンブリを作成します。これは、リソース ファイルにローカライズ可能なテキストやその他のものを含むプロジェクトで機能します。

しかし、コントロールとフォームはどうでしょう。言語が異なれば、結果として得られるコントロールのレイアウト、改行、位置の変更、サイズなどが異なる場合があります。これはテキストの翻訳だけではありません。したがって、WinForms デザイナーは非常に役立ちます。コントロールを含むサテライト アセンブリを作成する良い方法を知っている人はいますか?

追加のツール (Sisulizer など) は使用できません。元のバイナリには厳密な名前が付けられており、キーはビルド サーバーでのみ使用できます。そのため、新しいサテライト アセンブリにも、そのキーを使用して厳密な名前を付ける必要があります。

0 投票する
0 に答える
28 参照

c# - VS 2019 と dotnet コマンド ラインでコンパイルした場合、サテライト アセンブリは異なりますか?

XAML リソースを含む .NET 5 WPF プロジェクトがあります。プロジェクト設定を使用して、サテライト DLL の作成を有効にしました。

Visual Studio (デバッグ、x64) からビルドすると、mscorlib を参照するサテライト アセンブリが生成されます。

プロジェクトがコマンド ライン経由で dotnet.exe (v5.0.201) を使用してビルドされている場合:

System.Runtime を参照するサテライト アセンブリが生成されます。

それらが異なるのはなぜですか? また、どちらが参照されるかを制御するにはどうすればよいですか? mscorlib を参照するものは、locbaml (.NET 5 用にビルド) によって問題なく消費できますが、System.Runtime を参照するものは、発行時に locbaml が失敗します。