有一个库包含以下方法。
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中运行时,它仍然不会打印该值。
答案 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")