web-dev-qa-db-ja.com

奇妙な:C#タイプまたは名前空間名が見つかりません-正常にビルドされます

VS2012 IDEでプロジェクトを開くと、奇妙なエラーが表示されます。私が別の参照プロジェクトを利用しているところはどこでも、突然"Type or Namespace name could not be found"。そして「言う」とは、テキストの上に赤字で下線が引かれているときにエラーが発生したことを意味します。インテリセンスはそのコードでは機能しません。 ただし(ここでは奇妙な部分です)、エラーがエラーコンソールに表示されず、プロジェクトがビルドされて正常に実行されます。

コードをデバッグしてステップ実行することもでき、完全に正常に動作します。したがって、実行時にはプロジェクトは正常に参照されますが、設計時にはIDEはそれを見つけることができません。これは過去2週間機能しましたが、その後突然突然少し面倒になりました。私はインテリセンスなしでコーディングにゴミがあります!

誰かがこのようなものを見たり、何か提案をしたことがありますか?

28
hofnarwillie

これはVS2012の既知の問題であることがわかりました。 64ビットまたは32ビットのビルド方法を確認してください。 64ビットでは機能しませんが、32ビットでは機能します。それは物事が欠けていてデザインが機能しないと言うでしょうが、プログラムはうまく動きます。まだリリースされていない新しいVSアップデートで修正されると聞きました。

11
Lainezor

これ食べました。プロジェクトのプロパティの「アプリケーション」セクションで、「ターゲットフレームワーク」が「.Net Framework 4」に設定されているアセンブリを参照しました。これを「.Net Framework 4.5」に変更しましたが、参照されたアセンブリのプロジェクトだけでなく、私が構築していたプロジェクトもそれで動作しました。これを試してみてください。

13
txavier

他のプロジェクトのライブラリへの参照をすべて手動で削除し、再度追加します。 Intellisenseは、その時点で必要なものをすべて再構築します。これを行うことで、以前は役に立ちました。

5
Yevgen Fesenko

ここでの他のいくつかの回答に関連して、「Data」名前空間を使用する「Data」プロジェクトがありました。正常に構築されましたが、最近、IntelliSenseのエラーが表示され始めました(たとえ正常に構築され続けたとしても)(VS2015。)

「Data」プロジェクトと名前空間を「MyCompany.Data」に変更することでこれを修正しました。

奇妙なことに、問題は最近まで現れなかったようですが、変更を加えることで解決しました。おそらく名前空間に別のプロジェクトまたは参照との競合があったため、正常にビルドできますが、IntelliSenseは処理できません。

これはプロジェクトプロパティの[アプリケーション]タブで変更できます。 EDMX図を開き、右クリックして、モデルブラウザーを選択し、モデルブラウザーのタブで2番目の折りたたみ可能な項目を選択して、プロパティを押すと、Namespaceオプションが表示されます。生成されたEntity Frameworkエンティティおよびコンテキスト用。 (同様に、Entity Framework Modelの名前空間を変更する場合、[ASP.NetおよびMVCのWeb.Configで]に一致するように関連する接続を変更する必要がある場合もあります。)

3
Greg

この問題の別の原因は、同じ名前空間のコードを含む複数のプロジェクトのソリューションです。コンパイラはこれを処理できます。 Intellisenseはそうしません。

1
Dirk Brockhaus

テキストエディタで.projファイルを調べ、参照へのパスが正しいことを確認します。

1
classicskids

.net 4プロジェクトで.net framework 4.5プロジェクトを参照しないようにしてください。

1
Maor Hayoun

プロジェクトdefault namespaceと同じ名前のclassがないことを確認します。

1
PaRiMaL RaJ

同じ問題がありましたが、ビルドして正常に実行され、常にそのエラーが表示され、クラスでインテリセンスを使用できませんでした。

実際に問題を解決するために、新しいファイルにクラスを作成する自動メソッドを使用してから、実際のクラスからコードをコピーしました。古いファイルを削除し、新しいファイルの名前を変更したところ、問題なく動作しました。

0
EatATaco

これは、参照ファイルでビルドアクションを "なし"に設定して、それを忘れた場合にも発生する可能性があります。

0
drifter