2010-12-15 13 views
4

特定のアセンブリを使用するコマンドラインアプリケーションがあります。アセンブリはプロジェクトのルートにあり、「常にコピーする」に設定されています。ビルドするとすぐにVisual Studio 2010で参照が無視されるのはなぜですか?

そのアセンブリへの参照を追加すると、Visual Studio 2010がうまくいく - Intellisenseはすべてを正しく強調表示し、エラーは報告されません。

しかし、私が実際にビルドすると、参照を追加していないようなコンパイルエラーが発生し、Intellisenseが参照が一度も追加されていないかのように突然、

しかし、参照はまだあります。

参照を削除してからもう一度追加すると、Visual Studioがもう一度ハッピーになり、赤い塊が消えます。それから、私はビルドし、同じことが再び起こります。

したがって、Visual Studioはリファレンスがあることに同意します。私が作るまで。それからそれはそれを主張する。それがあっても。

これは、特定のDLL(重要な場合はNLog)でのみ発生します。別のDLL(HtmlAgilityPack)は正常に動作し、セットアップと設定は全く同じです。

答えて

3

少し検索すると、.NET client profileの問題が見つかりました。そのリンクを見て、それが問題を解決しているかどうかを確認してください。

さらに読むことに興味がある場合はmicrosoft connect websiteに投稿があります。

+1

対象フレームワークが ".Net Framework 4 Client Profile"に設定されていました。私はそれを ".Net Framework 4"に変更し、うまくいきました。なぜこれで修正されたのか分かりませんが、それはありませんでした。ありがとう。 – Deane

+0

@Deane:これを聞いてうれしいことがあなたの問題を解決しました。 NLog 1.0では、Client Profileの一部ではないクラスが 'System.Web'に必要です。完全なフレームワークに依存したくない場合は、NLog 2.0(クライアントプロファイルのサポートを追加)に切り替えるか、「System.Web」に依存するクラスなしでDLLを再コンパイルすることができます。 –

関連する問題