0

嗨,我在使用 linq to xml 时似乎遇到了一些问题。当我尝试在我的代码中加载 xml 文件时,似乎 LINQ 正在 C:\Program Files (x86)\IIS Express 中寻找它。

这是我的代码:

public static class ConfigurationData
{
    public static string GetAssemblyName()
    {
        var assemblyName = from config in XDocument.Load(@"T4Config.xml").Descendants("dataService")
                           select config.Element("AssemblyProjectName").Value; 


        if (assemblyName != null)
        {
            return assemblyName.ToString();
        }
        return string.Empty;
    }
}

XML 文件和此类都位于名为 Controller details 的文件夹中。当我尝试加载此方法时,我得到一个文件未找到异常,因为 linq 正在 C:\Program Files (x86)\IIS Express 中搜索。

如何让 linq 在同一个文件夹中查找它?

4

2 回答 2

1

您可以使用Server.MapPath("/T4Config.xml")

于 2013-06-07T11:53:07.850 回答
1
var assemblyName = from config in XDocument.Load(@"T4Config.xml").Descendants("dataService")
                           select config.Element("AssemblyProjectName").Value; 

我不确定这甚至是如何到达您提到的文件夹的,因为您只指定了一个文件名。XDocument.Load("file.xml")也改变XDocument.Load("YourFolder\YourSubFolder\YourFile.xml)。

于 2013-06-07T11:53:13.943 回答