app.config や関連する DLL などの単一の exe ファイルにすべてのリソースを結合する方法はありますか?
eMule など、一部のアプリケーションはこれを行うようです。
app.config が編集されるのを待ってそこに座ってほしくありません。
ありがとう
app.config や関連する DLL などの単一の exe ファイルにすべてのリソースを結合する方法はありますか?
eMule など、一部のアプリケーションはこれを行うようです。
app.config が編集されるのを待ってそこに座ってほしくありません。
ありがとう
確かに、Solution Explorer
(言及していないので、ここではVisual Studioを想定しています)Right-click
とProperties
、含めたいファイルの中にあります。
Build Action
に設定できるオプションがあるはずですEmbedded Resource
。
もちろん、リソースを埋め込むこともできます。アプリケーションのプロパティに移動し、[リソース] タブを選択します。それらに追加されたすべてのリソースは、メイン バイナリになります。
app.config をそこに置いて編集を待ってみませんか? 多くのプロフェッショナル ソフトウェア パッケージには、自由に編集できる構成ファイルと ini ファイルがあります。
おい、それが構成ファイルである理由です!アプリの動作をオンザフライで変更できるはずです。
変更すべきではない設定について懸念がある場合は、別のストレージ、クラス、データベース、レジストリ、フラットファイルなどを試すか、失敗したものを置き換えるために使用できるレプリカをどこかに保管してください。
dll のマージ - ILMerge
再コンパイルせずにアプリの動作を微調整する方法であると想定されているため、構成ファイルをマージする価値はありません。それが必要ない場合は、すべてを (コードまたは EmbeddedResources として) ハードコードするだけです。
それでも構成可能性が必要な場合は、ファイルをユーザー プロファイルに隠すことができます。
たとえば、http://www.codeproject.com/KB/cs/SystemConfiguration.aspxを参照してください。
以前、Thinstall をアプリケーション仮想化シュリンクラッパーとして使用したことがあります。
https://thinstall.com/help/index.php?_netsupport.htm
これにより、必要なことが行われます。つまり、アプリのすべての依存関係が、.config を含む 1 つの実行可能ファイルにバンドルされます。
また、他のソフトウェア シュリンク ラップ ツールを調査することもできます。
設定を変更したくない場合は、構成ではなくコードに移動します。
I agree with some of the users. It defeats the purpose of "config", really. Just hard code all the info in a shared class call "settings" and then reference like
_serverIP = settings.MailServerIP
The only items which should be considered are helperfiles (which relates to something, per say), images, 3rd party dlls (I am not sure of this though)...to name a few.
.net app.config ファイルの問題は、それらを変更するとアプリケーションの動作が変わる可能性があることです。
リソースの埋め込みは問題ではありません。私が心配しているのはその特定のファイルです。