我正在尝试检索一个名为" DeafultInstDir"在XML文件中:
的App.config :
<appSettings>
<add key="DefaultInstDir" value ="RITTNER">
<appSettings>
XML文件的路径是:
C:\ Users \ dora \ Documents \ Visual Studio \ 2012 \ Projects \ NSISSetupGenerator \ NSISSetupGenerator
问题:C#正在寻找:
C:\ Users \ dora \ Documents \ Visual Studio 2012 \ Projects \ NSISSetupGenerator \ NSISSetupGenerator \ bin \ Debug
我试图加载它:
Setup_Generator.cs :
public static string DefaultInstDir(){
XDocument xdoc = XDocument.Load(App.config);
string path = xdoc.Descendants("DefaultInstDir").First.Value();
return path; //it should return string "RITTNER"
}
我尝试过定义这样的绝对路径:
XDocument xdoc = XDocument.Load(C:\Users\dora\Documents\Visual Studio\2012\Projects\NSISSetupGenerator\NSISSetupGenerator\App.config);
我尝试使用此功能生成路径
HttpContext.Current.Server.MapPath()
它找不到该文件。 path变量每次都返回null。如何告诉我的机器在哪条路径上查找XML文件?
答案 0 :(得分:1)
添加对System.Configuration的引用
然后:
using System.Configuration;
string path= ConfigurationManager.AppSettings["DefaultInstDir"];
编辑:如果您想要更高级的解决方案,请查看定义节和元素类并将它们映射到.config文件。 https://msdn.microsoft.com/en-us/library/2tw134k3.aspx
答案 1 :(得分:0)
找到解决方案。以下代码......
var dt: Array = [];
var greatest = 0;
var i: int;
var j: int;
ball.addEventListener(Event.ENTER_FRAME, bg);
function bg(event: Event) {
d = Math.sqrt(ball.x - ground.x) * (ball.x * ground.x) + (ball.y - ground.y) * (ball.y - ground.y);
for (i = 1; i < 1002; i++) {
dt[i] = d;
}
for (j = 1; j < 1002; j++) {
if (dt[j] > dt[j + 1]) {
greatest = dt[j];
} else {
greatest = dt[(j + 1)];
}
}
}
...因为我的XML元素而给我一个例外......
using System.Configuration;
string path= ConfigurationManager.AppSettings["DefaultInstDir"];
...在此XML元素之前定义:
<appSettings>
<add key="DefaultInstDir" value ="RITTNER">
<appSettings>
configSections必须是App.config文件中的第一个元素。