0

私は次の方法を持っています:

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がスローされます。

4

2 に答える 2

1

ファイルを宣言した方法で

var dir = @"ProductsCookieData.xml";

ファイルは、C:ではなく、コード/現在のWebページと同じディレクトリにある必要があります。C:\に権限を付与し、コードを次のように変更できます

var dir = @"C:\ProductsCookieData.xml";

場合によっては、ファイルをアプリケーションフォルダー、ルートフォルダー、または特別なフォルダーにコピーして、Server.MapPathでアクセスできます。

var dir = Server.MapPath("~/ProductsCookieData.xml");
于 2012-11-22T12:59:33.173 に答える
0

ファイルへのフルパスを指定する必要があります。現在、現在の作業ディレクトリを基準にして解決される相対パスのみを指定しています。

ファイルがC:\のルートにある場合は、コードを次のように変更します。

string dir = @"C:\ProductsCookieData.xml";
于 2012-11-22T12:58:55.537 に答える