.NET Winformsの展開
-
02-07-2019 - |
質問
とにかくすべてのリソースをapp.configや関連DLLなどの単一のexeファイルに結合する方法はありますか?
eMuleなど、一部のアプリケーションはこれを行うようです。
app.configがそこに座って編集されるのを待ちたくありません。
ありがとう
解決
もちろん、 Solution Explorer
(ここではVisual Studioを想定しているので、ここでは言及しません)右クリック
および Properties
含めたいファイル。
Build Action
には Embedded Resource
に設定できるオプションがあります。
他のヒント
もちろん、リソースを埋め込むことができます。アプリケーションのプロパティに移動して、「リソース」を選択します。タブ。追加されるすべてのリソースはメインバイナリになります。
編集待ちのapp.configが存在しないのはなぜですか?多くのプロフェッショナルソフトウェアパッケージには、編集可能な設定ファイルとiniファイルがあります。
おい、 それが設定ファイルだからです!アプリがオンザフライで動作する方法を変更できるようにするはずです!
設定を変更する必要がない場合は、別のストレージ、クラス、データベース、レジストリ、フラットファイルなどを試してください。または、破損したものを置き換えるために使用できるレプリカをどこかに保管してください。
dllのマージ-ILMerge
設定ファイルをマージすることは、再コンパイルせずにアプリの動作を微調整する方法であるため、価値がありません。あなたがそれを必要としない場合-すべてをハードコードするだけです(コードまたはEmbeddedResourcesとして)。
設定がまだ必要な場合は、ファイルをユーザープロファイルに非表示にできます。
たとえば、 http://www.codeproject.com/KB/を参照してください。 cs / SystemConfiguration.aspx
設定を変更したくない場合は、設定ではなくコードに移動します。
一部のユーザーに同意します。それは本当に「設定」の目的を無効にします。共有クラス呼び出し" settings"のすべての情報をハードコーディングするだけです。そして、次のように参照します
_serverIP = settings.MailServerIP
考慮すべき項目は、ヘルパーファイル(たとえば、何かに関連するもの)、画像、サードパーティのdll(これはわかりません)...いくつか挙げます。
.net app.configファイルの問題は、ファイルを変更するとアプリケーションの動作が変わる可能性があることです。
リソースの埋め込みは問題ではなく、心配している特定のファイルです。
Thinstallをアプリケーション仮想化シュリンクラッパーとして使用したことがあります:
https://thinstall.com/help/index.php?_netsupport.htm
これは必要なことを行います。つまり、.configsを含め、アプリのすべての依存関係を1つの実行可能ファイルにバンドルします。
また、他のソフトウェアシュリンクラップツールをよく研究します。