![]() |
1
9
我使用这种方法从main()启动另一个AppDomain,指定配置文件的“新”位置。 getEntryAssembly()没有问题;当从非托管代码调用它时,它只返回空值-或者至少对我不返回空值,因为我使用executeSassembly()创建/运行第二个AppDomain,就像这样:
注意,我们正在有效地重新运行exe,就像一个AppDomain和一个不同的配置一样。另外请注意,您需要有一些“魔法”选项来阻止这种情况不断发生。 我是从更大的(真实的)代码块中创建的,因此它可能不会按原样工作,但应该说明这个概念。 |
![]() |
2
0
我不知道您为什么要更改配置文件的位置-也许有不同的方法来解决您的实际问题。我有一个要求,我想在相关的应用程序之间共享配置文件——我选择使用自己的XML文件,因为它给了我完全控制模式的额外好处。 在您的情况下,可以使用configSource属性将配置文件的各个部分外部化为单独的文件。见 here 在“使用外部配置文件”下,检查如何为连接字符串部分执行此操作。也许,这对你有帮助。 |
![]() |
3
0
然后根据需要使用配置成员。 |
![]() |
4
0
另一种方法是将配置文件保留在可执行文件中,并将相关的可更改部分移动到外部XML文件中,该文件可以位于您选择的任何位置。 如果您使用的配置文件是只读的,那么您可以使用XML inlude将相关的块添加到其他位置的XML文件中。如果您试图使用configuration.save方法将值直接写回app.config,则此操作将不起作用。 App.CONFIG:
connectionStrings.xml:
appsettings.xml文件:
文件URI如下所示:
您甚至可以定义故障转移文件,以防您试图引用的文件丢失。这个图案是从 https://www.xml.com/pub/a/2002/07/31/xinclude.html :
|
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |