我创建了一个控制台应用程序,通过从数据库中选择他们的电子邮件地址向人们发送电子邮件。我使用实体框架进行数据库连接。我在app.config中存储了连接字符串和SMTP设置。我从批处理文件中调用了此应用程序exe。我从批处理文件中调用了这个控制台应用程序的exe文件。我已经为客户端提供了exe和批处理文件。这个exe使用我的gmail smtp设置和连接字符串。客户端如何更新此EXE的连接字符串和SMTP设置?当app.config中的设置发生变化时,批处理文件中是否有任何选项来构建exe?请建议。
此致 Asif Hameed
答案 0 :(得分:2)
.NET配置功能的全部目的是不必须重建应用程序。
正确使用应用程序设置后,会在输出文件夹中创建文件xyz.exe.config
(编译后xyz.exe
所在的文件)。只需将xyz.exe
,xyz.exe.config
和批处理文件复制到客户端,然后相应地更改xyz.exe.config
文件中的值。
答案 1 :(得分:1)
App.config设置是运行时设置 - >它们将在运行应用程序时读取(而不是在编译时)。 这意味着如果您修改app.config中的设置,它们将在下次启动应用程序时可见/读取。
编译时,app.config将转换为 YourConsoleApplicationName .exe.config(例如我的控制台应用程序称为ConsoleApp1,生成的exe将为 ConsoleApp1 .exe并且配置文件将是 ConsoleApp1 .exe.config),因此请确保将其与exe和bat一起分发(.exe.config应与.exe位于同一目录中)。< / p>
客户端获取上述文件后,他/她可以修改配置文件中的设置,并在其网络中部署具有修改设置的应用程序
您可以在运行应用程序之前修改批处理文件以修改app.config的内容(例如,根据经过身份验证的用户进行切换),但这似乎太麻烦了(因为您可以完成所有操作从控制台应用程序中这很容易。)