|
|
1
35
与此线程交叉引用,这有助于我解决相同的问题: Subsonic Access To App.Config Connection Strings From Referenced DLL in Powershell Script 在调用需要配置设置的dll之前,我在脚本中添加了以下内容,其中$configPath是我要加载的文件的位置:
见 this 发布以确保指定的配置文件应用于正在运行的上下文。 |
|
2
6
我猜设置必须在powershell目录的powershell.exe.config中,但这似乎是一种糟糕的方式。 您可以使用configurationmanager.openmappedexeconfiguration基于执行的dll名称而不是应用程序exe打开配置文件,但这显然需要更改dll。 |
|
|
3
2
试图对一个旧问题作出新的回答。 我认为现代的答案是:不要这样做。PowerShell是shell。在外壳的各个部分之间传递信息的正常方式是外壳变量。对于PowerShell,如下所示:
如果希望跨进程边界继承设置,则约定使用环境变量。我将此扩展到跨越c/powershell边界的设置。几个例子:
如果您认为这是.NET的反模式,您可能需要重新考虑。这是PaaS托管应用程序的规范,将成为在服务器优化的clr(ASP.NET v5)上运行的ASP.NET的新默认值。
见
https://github.com/JabbR/JabbRv2/blob/dev/src/JabbR/Startup.cs#L21
我已经重温过这个问题好几次了,包括自己问。我想把赌注放在地上,说PowerShell的东西不好用
如果需要复杂的配置,请使用JSON字符串。V3+有 ConvertFrom-JSON 内置的。如果流程中的所有内容都使用相同的复杂配置,请将其放在.json文件中,并从环境变量指向该文件。
如果一个文件不足以满足需要,那么就有一些成熟的解决方案,如
|