添加 - 键入类型,它无法读取ConfigurationManager.AppSettings [" ..."]?

时间:2018-04-17 20:09:15

标签: c# powershell

有一个库包含以下方法。

public class Class1 
{
    public void X() 
    {
        //....
        var user = ConfigurationManager.AppSettings["UserName"];
        Console.WriteLine(user); // Nothing printed.

由Powershell调用

$dllFolder = "C:\...\bin\Debug"

Add-Type -Path "$dllFolder\Class1.dll"
$test = new-object Class1
$test.X()

如何在dll中分配ConfigurationManager.AppSettings["UserName"]

修改

我将app.config添加到库项目中,文件Class1.dll.config包含以下行。

<appSettings>
  <add key="UserName" value="...." />
</appSettings>

但是,在PowerShell中运行时,它仍然不会打印该值。

2 个答案:

答案 0 :(得分:1)

在app.config或web.config中,无论您的项目添加以下内容......

<configuration>  

    ...

    <appSettings>
      <add key="UserName" value="whatever you want the value to be" />
    </appSettings>

    ....

</configuration>

编辑:

如果您有权访问代码,请在根目录中创建app.config并重建。如果不这样做,则在build文件夹中查找config.ini并更新UserName属性。应该已经存在了。

答案 1 :(得分:0)

以下几行解决了这个问题。

[appdomain]::CurrentDomain.SetData("APP_CONFIG_FILE", "$dllFolder\Class1.dll.config")