2012-01-09 4 views
0

Visual Studioプロジェクトに奇妙な問題があります。私は.NET 4フレームワークを使ってC#アプリケーションを書いています。私はいくつかのDLL(私は3.5でコンパイルされていると思う)への参照を追加し、私はソリューションをビルドするまで動作します。これが起こると、コンパイラはこれらのDLL内の名前空間を見ることができないという意味で参照を削除します。何か案は?アプリケーションをコンパイルするときに参照が削除されます

エラー:

Error 4 The type or namespace name 'XXX' could not be found (are you missing a using directive or an assembly reference?)

+0

この種の動作では、エラーと警告ウィンドウに警告が表示されるはずです。私の推測では、これらの参照のうちの1つの参照がプロジェクトに存在しないと考えられます。 –

+1

あなたのプロジェクトでecopyLocal = true ..を設定していますか?また、GACの場合は、4.0 GACが3.5 GACよりも離れていることを覚えておいてください。 – MethodMan

+2

@Neil Knight dllを直接binディレクトリにコピーしていますか? –

答えて

2

私はこの問題を解決できました。私はProject Propertiesを調べて、.Net 4 Fullフレームワークではなく.Net 4 Client Profileを使用していたことがわかりました。これをフルバージョンに変更すると、私の問題は解決しました。私はClient Profileの中にSystem.Web名前空間がないために問題が発生したと考えています。

1

私はあなたが、新しい言ったフォルダからそれらへの参照を追加するには、溶液中で別々のフォルダにそれらのdllファイルを保存することをお勧めします。私は、binディレクトリに直接dllをコピーするとき、同じ正確な問題を抱えています。 VSは、クリーンなビルドですべてのdllを拭き取り、前記dllを永久的に保存するための理想的な候補ではありません。

別のノート:

私が提案したシナリオを防ぐことになっているオプションにもかかわらず、まだ私自身の個人的な経験から起こるようですし、我々はすべてのVSのバグ無料ではありません知っています! = P

+0

私はこの正確なセットアップが既にあり、それは動作していません。 –

+0

.configファイルを使用している場合は4.0の代わりにプロジェクトを3.5のプロジェクトに戻すこともできます..既に認識していない場合、4.0がトークンとともに参照を追加する場合は、 3.5対4.0の.dllを参照することについてのバージョン管理の問題のように、あなたの名前空間の定義方法を見ずにもわかりません – MethodMan

関連する問題