XmlSerializerでFileNotFoundExceptionのエラーがでないようにするには?

解決


唯香  2010-09-06 12:35:06  No: 102548  IP: [192.*.*.*]

sgen.exeの使い方について

アプリケーションの設定をXMLで読み込みや書き込みする際に
今までは問題なかったのですが急にエラーがでるようになりました。


エラーがでるのは以下のプログラムの2行目です
Using fs As New FileStream(XMLPath, FileMode.Open, FileAccess.Read)
    Dim xs As New XmlSerializer(GetType(《クラス名》))
    Dim obj As Object = xs.Deserialize(fs)
    Instance = CType(obj, cls112)
    fs.Close()
End Using


エラー内容は以下のエラーが2回でてTryCatchしてもExceptionに飛ばず例外を捕まえられません。
「System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。」


調べてみると同じ現象の方がいらっしゃったので
(http://yk.tea-nifty.com/netdev/2009/03/xmlserializer-a.html)
sgen.exeを使ってみようと思ったのですがコマンドが分かりませんでした。


調べてみるとビルド時にコマンドからsgen.exeを実行させることができるようなので
(http://kah.s35.xrea.com/cs/cs_xml.htm)
こちらを参考にsgen.exeを探しコマンドを作成しリビルドをかけたところ
以下のような例外が発生しリビルドが失敗しました。
コマンド "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\sgen.exe /force "《作成されたEXEのフルパス》" はコード 9009 で終了しました。


さらに調べてみるとOS(XP PRo)側が原因らしく
同じパソコンで1年ほど前に使用していたHDに入れ替えて
プログラムを実行させてみると確かにエラーはでませんでした。
(コマンドは同じエラーがでたのでXPのせいじゃないようです)


そもそもsgen.exeが何をしているか調べてみたのですが理解できず。。
http://msdn.microsoft.com/ja-jp/library/bk3w6240(VS.80).aspx


八方塞がりなりましたので投稿させていただきました。
エラーがでないようにするにはどうしたらいいでしょうか?

編集 削除
唯香  2010-09-06 13:20:02  No: 102549  IP: [192.*.*.*]

すいません。

.Netなのにこちらに書き込んでしまいましたので
とりあえず解決とし新たに質問させていただきました。
http://madia.world.coocan.jp/cgi-bin/vbnet/wwwlng.cgi?print+201009/10090001.txt

編集 削除