
PowerShell App.Config
有谁解决过如何使PowerShell使用
使用此线程进行交叉引用,这使我遇到了相同的问题: 在调用需要配置设置的DLL之前,我在脚本中添加了以下内容,其中$ configpath是我要加载的文件的位置:
请参阅此文章,以确保将指定的配置文件应用于正在运行的上下文。 我猜想这些设置必须在powershell目录中的powershell.exe.config中,但这似乎是一种不好的处理方式。 您可以使用ConfigurationManager.OpenMappedExeConfiguration打开基于执行DLL名称而不是应用程序exe的配置文件,但这显然需要更改DLL。 尝试对旧问题提供新的答案。 我认为现代的答案是:不要那样做。 PowerShell是一个外壳。在外壳的各个部分之间传递信息的通常方法是外壳变量。对于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字符串。 POSH v3 +具有内置的ConvertFrom-JSON。如果您的流程中的所有内容都使用相同的复杂配置,请将其放入.json文件中,然后从环境变量指向该文件。
如果单个文件不能满足要求,则可以使用完善的解决方案,例如 |