2016-04-08 9 views
0

xmlファイル(追加 - >新規 - > xml)を追加したC#プロジェクトがあります。 >Application Files - - Copy to Output DirectoryのためのファイルのプロパティはPublishためCopy if newerにし、プロジェクトのプロパティで設定されているデバッグ後のXMLファイルは更新されません

>Publish StatusIncludeに設定されています。

私は自分のプロジェクトをデバッグするときに、そのxmlファイルを読み書きします。それはbin/Debugフォルダで正しく更新されていますが、ソリューションのメインフォルダでは正しくありません。したがって、ソリューション内のxmlファイルは更新されません。Debugフォルダ内のxmlファイルのみが更新されます。

XMLファイルが更新された後、デバッグをやめるときに、XMLファイルが更新された後、リロードしたいときに、ヒントを得ることができます。そのヒントは私には分からないので、そのファイルへのリンクに間違っているはずです。

答えて

2

プロジェクトの一部であるXMLファイルを書き換えたい場合は、bin \ debugフォルダのコピーではなく、そのXMLファイルに書き込む必要があります。これは一般的にほとんどの人が望むものではありません。ファイルがプロジェクトの一部である場合、ほとんどの人は、デバッグ中に編集したいファイルではなく、元の状態に保ちたいソースファイルを考慮します。

これが達成したい場合は、実行可能ファイルに対して相対的な.. \ .. \ MyFile.xmlを読み書きしてください。これは、XMLファイルがプロジェクトのルートフォルダにあり、プロジェクトが標準以外のフォルダ構造を使用するように設定されていないことを前提としています。

+0

あるいは、xmlファイルをCドライブ(プログラムデータ/ など)のどこかに置いて、編集可能にしてください。 –

+0

答えをありがとうが、多分あなたは私を見落とした。私はプロジェクトのxmlに直接書きますが、デバッグフォルダー( 'dsTemp.WriteXml(" AppData/Test.xml ");')のコピーではなく、プロジェクトフォルダー内のこのXMLは更新されていません。デバッグフォルダ内のデバッグ –

+1

"AppData/Test.xml"は、実行ファイルを基準にしたパスです。つまり、実行ファイルは(projectfolder)\ bin \ debugにあります。パスは(プロジェクトフォルダ)\ bin \ debug \ AppData \ Test.xmlに解決されます ".. \ .. \ AppData \ Test.xmlに書き込むようにしてください。これは(projectfolder)\ Appdata \ Test.xmlになります。 –

関連する問題