質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

1349閲覧

VB.netのXmlTexWriterでオープン中のファイルにアクセスする方法について

ctk

総合スコア31

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/06/27 05:07

いつもお世話になっております。

早速ですが、1点質問が御座います。

VB.netのXmlTexWriterでオープン中のファイルにアクセスすると、
以下の例外が発生して、アクセスする事が出来ません。

System.IO.IOException
HResult=0x80070020
Message=別のプロセスで使用されているため、プロセスはファイル 'C:\news\now.xml' にアクセスできません。
Source=<例外のソースを評価できません>
スタック トレース:
<例外のスタック トレースを評価できません>

XmlTextWriter を使用して、オープン中のファイルにアクセスする方法をご存知の方がいらっしゃいましたら、
ご教示頂けると幸いです。

別のフォルダにnow.xmlファイルを作成して、
既存のnow.xmlを強制上書きする形になりますでしょうか。

以上です、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2019/06/27 05:17

「C:\news\now.xml」は誰がどうやってOpenしているのですか?
ctk

2019/06/27 05:48

早速、ご連絡頂き、ありがとうございます。 now.xmlファイルは、ニュースを表示するプログラムがReadで開いております。 よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/06/27 05:52

質問する前にエラーメッセージ「別のプロセスで使用されているため、プロセスはファイル にアクセスできません。」でググってヒットする記事を読んで、心当たりを探ってみませんか?
ctk

2019/06/27 07:46 編集

SurferOnWww様 ご連絡、誠にありがとうございます。 「別のプロセスで使用されているため、プロセスはファイル にアクセスできません。」でググってみたところ、FileStreamクラスでは、FileShare.ReadWriteのオプションを指定するとオープン中のファイルをオープンすることができるようですが、XmlTexWriterクラスには、FileShare.ReadWriteのオプションが無さそうだった為、ご質問させて頂きました。 何か情報があるサイトをご存知でしたら、ご紹介頂けると幸いです。以上です、よろしくお願いいたします。
YAmaGNZ

2019/06/27 07:54

すみません、質問の読み違えをしているかもしれません。 XmlTexWriterで開いているファイルに「ニュースを表示するプログラム」がアクセスに行ったときに「ニュースを表示するプログラム」がエラーとなるのですか? 「ニュースを表示するプログラム」がアクセスしているファイルにXmlTexWriterでアクセスしようとした時にエラーとなるのですか?
ctk

2019/06/27 08:01

YAmaGNZ様 ご連絡ありがとうございます。 エラーが発生するタイミングですが、 「ニュースを表示するプログラム」がアクセスしているファイルにXmlTexWriterでアクセスしようとした時にエラーとなります。
退会済みユーザー

退会済みユーザー

2019/06/27 09:04 編集

問題を再現できる最小限のところまでコードをどんどん削って行くということはできないでしょうか。その過程で原因が分かって自己解決できることが多々あります。自己解決できなくても、その必要最小限のコードと再現する手順を書いていただければ、回答者・閲覧者の方でも問題を再現できて、有用な回答が得やすいと思います。
guest

回答1

0

ベストアンサー

ニュースを表示するプログラムも貴方が作ったプログラムなのであれば、ロックをかけずに開けばよろしいかと思います。

追記
やはり、「ニュースを表示するプログラム」がロックをかけているのでエラーとなっているようです。
「ニュースを表示するプログラム」を修正してください。
ただ、読み込んでいる最中にファイルに書き込むことにより問題が発生するかもしれません。
読み込む側が長時間ロックしないのであれば、書き込む側が書き込もうとした時にロックがかかっているのであれば少し時間をおいてリトライするのがいいかもしれません。

投稿2019/06/27 06:12

編集2019/06/27 08:24
YAmaGNZ

総合スコア10258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問