首页 > 解决方案 > 制作灵活的exe文件

问题描述

我已经在 Visual Studio 2017 中完成了我的应用程序。一切都很棒,工作完美,但现在我想让它灵活地在其他环境中使用。

我有 3 或 4 个不同的环境,它们都有自己的本地网络和服务器。

我需要让我的应用程序在该网络中的计算机上首次要求设置(输入连接字符串)。

在该计算机上安装后,这些设置应存储在某处,但可供该网络中的其他用户使用(下一次安装不需要在计算机上进行设置,而是将数据用于线程。

我不知道该怎么做,我阅读了 App.config 但在那里没有看到任何有用的东西。

任何想法?

标签: c#

解决方案


您正在寻找的是App.config文件。这是您可以存储可以为每个环境更改的连接字符串的地方:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
        <add key="Connection" value="127.0.0.1"/>
        <add key="altConnection" value="L:\Path\To\Thing"/>
  </appSettings>
</configuration>

您显然会更改XML/App.config 文件value=的部分内的内容。<add key>这个 App.config 可以存储在程序的某个地方,每个人都可以访问(如果其他人对配置文件的部署有更好的答案,请随时编辑或在下面评论)。

127.0.0.1 只是我用作示例的默认 IP

这可以在代码中使用,添加using System.Configuration并确保您已将正确的引用添加到项目中。App.config 可以通过以下方式内联访问:

string conStr = ConfigurationManager.AppSettings["Connection"];

或类似的东西。@Serge 的评论是开始使用 App.config 文件的绝佳参考!

对于部署:

如果您正在为整个网络部署程序,那么我想文件共享应该可以正常工作(根据@Elgonzo 的评论)。有了这个,您应该能够部署到文件共享,配置文件也位于那里。不要给您的用户.exe 文件的副本,而是给他们.exe 文件的快捷方式。这将允许您只需要更新一个位置而不是多个位置。如果需要,仍然可以访问 App.config,并且每个用户都应该能够正常使用该程序。(这就是我在网络中部署应用程序的方式。)


另一种选择Global Variable是在每次启动应用程序时都要求输入 IP 地址(或文件路径),具体取决于您计划如何进行部署或环境如何使用该程序以及什么。


推荐阅读