0

サーバーでホストする必要があり、XML ファイルに格納されたクエリに基づいてデータを取得するようにスケジュールされる ac# デスクトップ アプリケーションを開発しました。開発中、次のコードを使用して XML ファイルを読み取っていました。

var query = new XPathDocument(@"C:\\Documents and Settings\\XYZ\\Desktop\\productplanningquery.xml");

ご覧のとおり、XML ファイルをデスクトップに簡単に配置したところ、開発中に問題なく動作しました。私が今やりたいことは、アプリケーションと XML ファイルをホストする場所で例外がスローされないようにパスを指定することです。私が考えた1つの方法は、アプリケーションがインストールされるディレクトリにフォルダーを作成することですが、そのためには現在のディレクトリへのパスを動的に把握する必要があります(これはわかりませんでした)。

助けてください。

4

3 に答える 3

1

次のようなものを使用できます。

var path = string.Format("{0}\\{1}", Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "productplanningquery.xml");
var pathForCurrentApp = string.Format("{0}\\{1}", Environment.CurrentDirectory, "productplanningquery.xml");
于 2013-10-02T06:30:09.260 に答える
1

この方法を使用して XML の場所を渡すことができargsます。コードは次のようになります。

var query = new XPathDocument(args[0])

相対パスを使用することもできます。コードをデプロイするときは、ファイルの場所を同じ相対的な場所に保つようにしてください。たとえば、アプリケーションと同じディレクトリに XML を配置する場合

var query = new XPathDocument("productplanningquery.xml")
于 2013-10-02T06:42:37.663 に答える