Visual Studioプロジェクトでdllへの参照を追加すると、それを使用できますが、コードをコンパイルまたは実行しようとすると、are you usingディレクティブまたはアセンブリ参照がありませんか?_エラー。名前空間に適切なusingステートメントがあることを確認でき、dllが正しく読み込まれていることを確認できます。誰も私がこれで正しくないかもしれないものを知っていますか?
プロジェクト設定に移動し、notというテキストを含む.netバージョンのプロジェクトをコンパイルしていることを確認します。
これは、これが古い質問であっても、他の答えが役に立たなかったため、それを修正したものに2cを追加すると思っていたとしても、まさにこのような問題がありました:
何らかの理由で、ソリューションを上から下に構築したときに、特定のdllが更新されず、変更されたコードを保持する出力が得られませんでした。したがって、私のソリューションには目に見えるエラーはありませんでしたが、ビルドしようとしたとき、古いDLLを参照し続け、文句を言い始めました。
これは単に、問題のプロジェクトを直接再構築し、その後、最新のdllを取得して喜んで構築した場合です。
これは、機能するときと機能しないときの間に構成が変更されていないため、異常な事故のように見えました。
時々、ソリューションを再構築するだけです。
.net 4.0を使用していますか?
はいの場合、このdllはおそらく.net 4.0と互換性がありません
DLLの場所は重要です。
ローカルマシン上の参照をVisual Studioソリューションの外部にあるDLLに追加する場合、ソリューションファイルにコピーされるとは限りません(ソリューション/プロジェクトの種類によって異なります) 。
これが問題の場合は、DLLを他のマシンの同じパスに置くか、ソリューションにコピーしてソリューションファイルと一緒にデプロイし、変更する必要があります。参照。
ビルド手順を使用してこれを処理することもできますが、現時点では望みを超えている可能性があります。
ほとんどの場合、dllはクライアントプロジェクトが参照していない別のdllを参照しており、dllコードは3番目のdllからクライアントコードに型またはインターフェイスを公開しています。
ExaCtメッセージを投稿すると、より良いサポートが得られます。
私の場合、メインプロジェクト(WinForm)は、Framework Target:FW 4.0 "client profile"で構成されました。私はFW 4.0に変更し、完璧に動作します!!。初めて参照プロジェクトを探していましたが、大丈夫でしたが、メインプロジェクトはそうではありません。これが役立つことを願っています。ありがとうございました。
私の場合、問題のプロジェクトの「NuGetパッケージの管理」コンテキストメニューからMicrosoft BCL Build Componentsへの参照を追加すると、このコンパイルエラーが発生します。
以前:プロジェクトMain(コンソールアプリケーション)がプロジェクト[〜#〜] a [〜#〜]を参照していた(クラスライブラリ)。プロジェクト[〜#〜] a [〜#〜]は、Microsoft BCLビルドコンポーネントに依存していました。
後:リファクタリングを開始し、いくつかのクラスを別のプロジェクトに選びましたNew。また、[〜#〜] a [〜#〜]に依存していました。しかし、プロジェクトでコンパイルエラーが発生しましたNew参照がないかのようにNew->[〜#〜] a [〜#〜](ただし、Visual Studioはエラーにリストされているインターフェイスとクラスが見つからないと強調表示しませんでしたが)コンパイルのリスト)。
そこで、プロジェクト[〜#〜] a [〜#〜]の依存関係を確認し、Microsoft BCL Build Componentsを見つけました。 Newの依存関係に追加した後、すべて正常に機能しました。最も興味深いのは、Mainがnotにこの依存関係を含み、それを必要としなかったことです。
お役に立てれば。