Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为.NET控制台应用程序加载不同的app.config_.net_App Config_Console Application - Fatal编程技术网

为.NET控制台应用程序加载不同的app.config

为.NET控制台应用程序加载不同的app.config,.net,app-config,console-application,.net,App Config,Console Application,我正在几个Windows 2008计算机上的共享网络文件夹中运行.NET控制台应用程序,希望为运行控制台的每台Windows 2008计算机提供单独的app.config文件。最好的方法是什么 您有一些选项,这取决于您是否可以更改和重新编译console应用程序: 将可执行库和从属库的副本放在单独的子目录中,并为每个子目录提供自定义app.config。类似于每个客户端计算机的共享/子目录。当然,这可能会变成维护噩梦或占用空间的体验。但是,对于简单的解决方案/需求,它可能仍然是可行的 作为(1)

我正在几个Windows 2008计算机上的共享网络文件夹中运行.NET控制台应用程序,希望为运行控制台的每台Windows 2008计算机提供单独的app.config文件。最好的方法是什么

您有一些选项,这取决于您是否可以更改和重新编译console应用程序:

  • 将可执行库和从属库的副本放在单独的子目录中,并为每个子目录提供自定义app.config。类似于每个客户端计算机的共享/子目录。当然,这可能会变成维护噩梦或占用空间的体验。但是,对于简单的解决方案/需求,它可能仍然是可行的
  • 作为(1)的变体,将同一控制台应用程序二进制文件的副本放在同一目录中,并使用不同的名称。将app.config的各个版本(名称与可执行文件的副本相同)放在同一目录中。同样,这与(1)中的问题相同(如果不是更多的话),但可能会起作用,具体取决于您的具体需求
  • 从新的
    AppDomain
    重新启动可执行文件本身。这允许您为新应用程序域的app.config指定自定义路径/文件名。无耻的插头:。请注意,此方法不限于在新应用程序域内执行您自己的程序集。您还可以编写一个托管存根应用程序,只在您真正想要运行的控制台应用程序(可能无法更改)上执行一个
    ExecuteAssembly
    ,为其提供一个自定义app.config
  • 编写承载CLR本身的本机存根进程。这还允许您指定要使用的app.config文件的路径/名称

  • 您有一些选项,这取决于您是否可以更改和重新编译console应用程序:

  • 将可执行库和从属库的副本放在单独的子目录中,并为每个子目录提供自定义app.config。类似于每个客户端计算机的共享/子目录。当然,这可能会变成维护噩梦或占用空间的体验。但是,对于简单的解决方案/需求,它可能仍然是可行的
  • 作为(1)的变体,将同一控制台应用程序二进制文件的副本放在同一目录中,并使用不同的名称。将app.config的各个版本(名称与可执行文件的副本相同)放在同一目录中。同样,这与(1)中的问题相同(如果不是更多的话),但可能会起作用,具体取决于您的具体需求
  • 从新的
    AppDomain
    重新启动可执行文件本身。这允许您为新应用程序域的app.config指定自定义路径/文件名。无耻的插头:。请注意,此方法不限于在新应用程序域内执行您自己的程序集。您还可以编写一个托管存根应用程序,只在您真正想要运行的控制台应用程序(可能无法更改)上执行一个
    ExecuteAssembly
    ,为其提供一个自定义app.config
  • 编写承载CLR本身的本机存根进程。这还允许您指定要使用的app.config文件的路径/名称