- - PR -
名前空間について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-03 11:34
プログラム開発初心者のtrmです。
visualstudio2003を利用しプログラム開発を行う様になったのですが 既存プログラムをリビルドするとエラーとなります。 エラー内容は、 ・名前空間または型が見つかりません。 ・定義されていません。 ・ファイルを実行ディレクトリにコピーできません。 アクセスが拒否されました。 等により リビルドが完了しません。 前任者からの引継ぎ時には問題なくリビルド出来たのですが 何が問題かが分かりません。 お忙しいとは思いますが御指導宜しくお願い致します。 | ||||
|
投稿日時: 2006-10-03 11:40
名前空間どうこうじゃなくてこっちが原因じゃないかな。 他のDLLを参照しているとすれば名前空間や型は見つからなくなるだろうから。 で。問題解決のために何か調査した? してないならこれをもとにしてみたらどう? | ||||
|
投稿日時: 2006-10-03 12:27
似たような習熟度の時に似たような状況にあった時は、
先輩に聞かないと絶対わからなかったなあ、と思ったので返答しておきます。 たぶん、その状況だと、 一度Visual Studioを閉じてから、 ビルドで作られた、拡張子がdllとpdbのファイルをすべて消したら解決します。 基本的にはソリューション内のすべてのdllファイルとpdbファイルを消せばいいのですが、 他からコピーして持ってきたdllファイルがある場合は、それを消さないよう注意が必要です。 原因は、Visual Studioが一度dllファイルをつかんでしまっていることです。 それで、 ・ファイルを実行ディレクトリにコピーできません。 アクセスが拒否されました。 ということになり、 新しいdllが適切な場所にコピーされないので、古いままのdllを見ることになり、 ・名前空間または型が見つかりません。 ということになり、 それで変数名などの定義部分がエラーを出して失敗しているので、 ・定義されていません。 ということになります。 という状況かと思われますので、試してみてください。 | ||||
|
投稿日時: 2006-10-03 14:36
こんにちは。
この現象、自分の環境でもたまになることがありますねぇ。 (自分の環境だけでなく回りの開発担当者でも出ている現象なので固有というわけでもない) 自分の解決方法としては、VS.NET2003上で開いている全てのドキュメント(ソースやフォーム等)を閉じた上で、VS.NET2003を終了->再起動->(どのソースも開かない状態で)ビルドすることです。これで大体ビルドできるようになります。 (出来なかったらまりもさんと同じくDLL削除) ビルドできない理由はまりもさんが書かれているとおり、VS.NET2003が対象のDLLを握ってしまうためだと思いますが、VS.NET2003のバグなのかなぁ。 ソリューションのつくり方でも違ってくるかもしれません。1ソリューション1プロジェクトだったら、たぶん発生しませんが、ソリューションの中に複数のプロジェクトがあり、プロジェクト間でプロジェクト参照があったりすると発生しやすいような気がします。 | ||||
|
投稿日時: 2006-10-03 15:13
循環参照という問題も無きにしも非ず。>経験あり(汗
DLLの参照ツリーを書いてみればよくわかる。 | ||||
|
投稿日時: 2006-10-03 15:20
このへんですかねぇ。機械翻訳なんでよく分りませんが。
いつもまりもさんやnoderaさんのやり方で回避してるので、英文読む気力が 私は未確認なのですが、同僚情報によるとVisualStudio2003のSP1を当てると良いらしいです。 一応『修正される問題の一覧』に上記は含まれていました つダウンロードセンター なんで未確認かと言うと、『プロジェクト内では開発環境を統一せよ』とのクソッタレなお達しのせいなんですが... インストールされた方に状況が改善されたかお伺いしたいです。 | ||||
|
投稿日時: 2006-10-04 08:45
迅速な回答・御指摘有難う御座います。
助言頂いた内容を参考に対応したいと考えています。 お忙しい中、本当に有難う御座いました。 |
1