【问题标题】:console application settings using batch file使用批处理文件的控制台应用程序设置
【发布时间】:2012-06-06 20:04:06
【问题描述】:

我创建了一个控制台应用程序,它通过从数据库中选择他们的电子邮件地址来向人们发送电子邮件。我已经使用实体框架进行数据库连接。我在 app.config 中存储了连接字符串和 SMTP 设置。我从批处理文件中调用了这个应用程序 exe。我从批处理文件中调用了这个控制台应用程序的 exe 文件。我已经为客户提供了 exe 和批处理文件。此 exe 使用我的 gmail smtp 设置和连接字符串。客户端如何更新此 EXE 的连接字符串和 SMTP 设置?当 app.config 中的设置发生更改时,批处理文件中是否有任何选项来构建 exe?请提出建议。

问候, 阿西夫·哈米德

【问题讨论】:

    标签: c# .net batch-file


    【解决方案1】:

    .NET 配置功能的全部目的是您不必重新构建应用程序。

    当您正确使用应用程序设置时,会在输出文件夹中创建一个文件xyz.exe.config(编译后的xyz.exe 所在的位置)。只需将xyz.exexyz.exe.config 和批处理文件复制到客户端并相应地更改xyz.exe.config 文件中的值即可。

    【讨论】:

    • 我不确定 OP 是否知道您需要添加应用程序配置文件支持 (App.Config)。同样对于 OP,您需要添加对 System.Configration 的引用.
    【解决方案2】:

    App.config 设置是运行时设置 -> 将在运行应用程序时读取它们(而不是在编译时)。 这意味着如果您修改 app.config 中的设置,它们将在下次启动应用程序时可见/读取。

    当你编译时 app.config 将被转换为 YourConsoleApplicationName.exe.config(例如我的控制台应用程序称为 ConsoleApp1,生成的 exe 将是 ConsoleApp1.exe并且配置文件将是 ConsoleApp1.exe.config),因此请确保将其与 exe 和 bat 一起分发(.exe.config 应与 .exe 位于同一目录中)。

    一旦客户端获得上述文件,他/她就可以修改配置文件中的设置,并在其网络中使用修改后的设置部署应用程序

    您可以在运行应用程序之前修改批处理文件以修改 app.config 的内容(例如,根据经过身份验证的用户进行切换),但这似乎太麻烦了(实际上没有意义,因为您可以做所有事情从控制台应用程序更容易)。

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 2020-08-14
      相关资源
      最近更新 更多