VB6.0のプロジェクトをVB.NET2003にアップグレードしようとしているのですが、どんな簡単なプロジェクト(フォーム1つ・コマンドボタン1つ・ActiveXなどは無し)でも、保存先を指定してアップグレードを開始すると、必ずエラーになります。
「アップグレードに失敗しました。アップグレードがキャンセルされました。」
と表示されます。これ以外のエラー情報は表示されません。
ただ、保存先にはログファイルが作成されており、中身を見るとテキストファイルのようですが、漢字と思われる箇所が全て文字化けしています。関係あるでしょうか。
また、このファイルの先頭の3バイトはテキストコードではなく、$EF、$BB、$BFとなっています。この後に以下の文字列が続きます。
「<?xml version="1.0" encoding="utf-8"?>」
文字化けしている内容は例えば以下のとおりです。
<UpgradeLog>
<Settings>
<Setting
Name = "繝ュ繧ー 繝輔ぃ繧、繝ォ (/LogFile)"
Value = "Project1.log"
/>
なお、作成されるのはこのファイルだけです。
保存場所などを変えてみても状況は変わりませんでした。
環境は以下のとおりです。いずれも日本語版です。
OS :Windows2000SP4
VB6.0:VisualStudio6.0 Enterprise Edition
.NET :VisualStudio.NET2003 Professional Edition
どなたか同様の症状が出て解決された方いらっしゃいませんか?
ログファイルをIEで開いたら正常に見ることが出来ました。
文字コードがunicodeだったようなので、普通のテキストエディタで見ることが出来ないだけでした。
したがって、エラーが出ることとは関係ないようです。
自己解決しました。
ユーザーアカウントの名前に漢字を使用していると、"Documents and Settings"
フォルダの下にあるユーザーフォルダも漢字になってしまいます。
アップグレードウィザードは、プログラムの実行時にテンポラリフォルダとして
ユーザーフォルダの下に、"VSWebCache"というフォルダを作成して使用している
関係で、エラーが発生してしまうようです。
つまり、パス名に漢字などの全角文字が含まれていてはならないということです。
もしくは、全角文字は使用できるが、特定の文字が含まれる場合にエラーになる
ということも考えられます。
ちなみに、変換対象のプロジェクトフォルダのパス名に全角文字が含まれていなく
ても、ユーザー名が全角文字の場合、この問題が発生する可能性はあります。
アカウント名を半角英数字のみで作成して実験したところ、エラーは出なくなりました。
ただし、WindowsXPでは試していないので、Windows2000のみでこの現象が発生
している可能性はあります。
同様の問題でお困りの方がいらっしゃいましたら参考になればと思います。
それにしても、未だに漢字を使用することでエラーになるプログラムがあるとは
驚きです。しかも、マイクロソフトが提供している日本語版のソフトウェアで!
MSDNのサポートに有償で問い合わせてもこの回答を得ることが出来なかったことも
付け加えておきます。
MSDNのサポートのレベルの低さにはあきれてしまいます。
サポートに結果の報告はしたので、どのような応答が来るのか楽しみです。
最後に、この問題について少しでも検討していただけた方がいらっしゃいましたら
お礼申し上げます。
ありがとうございました。
ツイート | ![]() |