我有以下方法:
public static DataSet BringProducts()
{
DataSet dataSet = new DataSet();
var dir = @"ProductsCookieData.xml";
if (File.Exists(dir)) //without File.Exists, same problem.
{
dataSet.ReadXml(dir);
}
return dataSet;
}
该文件存在,但该方法始终没有看到它。该文件在C:\中,我在其他位置尝试过,同样的事情发生了。也尝试不使用静态。
如果我不使用File.Exists()
,则会抛出FileNotFoundException。
答案 0 :(得分:1)
使用您声明文件的方式
var dir = @"ProductsCookieData.xml";
您的文件必须与您的代码/当前网页位于同一目录中,而不是C:中。您可以授予C:\权限并将代码更改为
var dir = @"C:\ProductsCookieData.xml";
有时,可以将文件复制到应用程序文件夹,根目录或特殊文件夹,并使用Server.MapPath访问
var dir = Server.MapPath("~/ProductsCookieData.xml");
答案 1 :(得分:0)
您需要指定文件的完整路径。目前,您只提供相对路径,该路径将相对于当前工作目录进行解析。
如果您的文件位于C:\的根目录中,请将代码更改为:
string dir = @"C:\ProductsCookieData.xml";