0

データベースからメールアドレスを選択してメールを送信するコンソールアプリケーションを作成しました。データベース接続にエンティティ フレームワークを使用しました。接続文字列と SMTP 設定を app.config に保存しました。このアプリケーション exe をバッチ ファイルから呼び出しました。このコンソール アプリケーションの exe ファイルをバッチ ファイルから呼び出しました。クライアントにexeとバッチファイルを提供しました。この exe は、私の Gmail SMTP 設定と接続文字列を使用します。クライアントはこの EXE の接続文字列と SMTP 設定をどのように更新できますか? 設定が app.config で変更されたときに exe をビルドするためのバッチ ファイルのオプションはありますか? 提案してください。

よろしく、 アシフ・ハメド

4

2 に答える 2

2

The entire purpose of the .NET configuration feature is that you do not have to rebuild the application.

When you properly use the application settings, a file xyz.exe.config is created in the output folder (where the xyz.exe is after compiling). Just copy the xyz.exe, the xyz.exe.config and the batch file to the client and change the values in the xyz.exe.config file accordingly.

于 2012-06-06T10:12:58.160 に答える
1

App.config 設定はランタイム設定です -> アプリケーションの実行時に読み込まれます (コンパイル時ではありません)。これは、app.config 内の設定を変更すると、次回アプリケーションが起動されたときに表示/読み取りされることを意味します。

app.config をコンパイルすると、 YourConsoleApplicationName .exe.configに変換されます (たとえば、私のコンソール アプリケーションは ConsoleApp1 と呼ばれ、生成された exe はConsoleApp1 .exe になり、構成ファイルはConsoleApp1 .exe.config になります)。配布することを確認してください。これを exe および bat と一緒に (.exe.config は .exe と同じディレクトリに置く必要があります)。

クライアントが上記のファイルを取得したら、構成ファイル内の設定を変更し、ネットワーク内の変更された設定でアプリケーションを展開できます。

アプリケーションを実行する前に、バッチ ファイルを変更して app.config の内容を変更することもできますが (たとえば、認証されたユーザーに応じて切り替えるなど)、これは面倒なようです (実際には意味がありません。コンソール アプリケーション)。

于 2012-06-06T12:04:06.333 に答える