web-dev-qa-db-ja.com

Visual Studioは、欠落していないアセンブリ参照が原因でプロジェクトのビルドを拒否します

私はC#Windowsサービスを構築しており、プロジェクトに(他の独自のプロジェクトへの)アセンブリ参照をいくつか追加しています。

ビルドすると次のエラーが表示されます。

「エラー25型または名前空間名 'TestClass'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?」

興味深いことに、csprojファイルの参照パスは正しく、その上、参照されたプロジェクトのクラスと名前空間は、Visual Studioによれば欠落しており、Intellisenseおよび "定義に移動"によっても選択されています。機能は正常に動作します。さらに、新しいWindowsサービスとまったく同じフォルダーに他のプロジェクトがあり、アセンブリ参照を問題なく取得しました。すべての参照プロジェクトがソリューションに含まれています。

Visual Studio 2013 Update 3を使用します。詳細を示すコードを実際に表示することはできませんが、スクリーンショットなどを表示する場合はお知らせください。

これまでの試み:

  • VSの再起動とすべてのプロジェクトのリロードを試みました
  • プロパティ参照パスページにパスを追加しようとしました。
  • このガイドのすべての手順を試しました: https://msdn.Microsoft.com/en-us/library/ayds71se.aspx

Update参照リストで「見つからない」参照の1つを選択し、プロパティに移動すると、パスが定義されていません。しかし、相対パスは正しいのでcsprojファイルにあります。紛らわしい。

Update 2すべての参照を削除し、プロジェクトをリロードしてから、きれいに修正して修正しました。どうやら、問題はビルドスタックで更新されていないすべてのdllが原因で発生したようです。

19
user1531921

1.すべての参照を削除する

2.ビルド->クリーンなソリューション

3.これを使用してプロジェクトをクリーンアップします project .

10
nayef harb

私の場合、アセンブリプロジェクトのターゲットフレームワークと、このアセンブリを使用するプロジェクトのターゲットフレームワークは異なります。アセンブリプロジェクトのターゲットフレームワークは4.5で、私のプロジェクトのターゲットフレームワークは4.0でした。

プロジェクトのターゲットフレームワークをアセンブリプロジェクトのターゲットフレームワーク、つまり4.0から4.5に変更すると、正常に機能します。

プロジェクトのターゲットフレームワークを変更するには、

プロジェクトを右クリック->プロパティ->アプリケーション->ターゲットフレームワーク

このターゲットフレームワークはドロップダウンリストです。このリストから必要なフレームワークを選択します。

24
mayank

別の考えられる問題は、。NETの対象バージョンでの不一致アセンブリ間です。私は同じ症状を経験しましたが、同じバージョンのフレームワークを設定することでうまくいきました。

2
zmaten

私も同じ問題です。または、少なくとも症状は同じでした。私のソリューションはネットワークドライブにありました。 ソリューションをローカルドライブに移動すると問題が解決しました。

その理由は、Windows 10がネットワークドライブを信頼できる十分な場所として認識していなかったことにあるようです。どうにかして自分のソリューションを破ることができたまで、それはうまくいきました。 Visual Studioには、必要な修正操作を実行するために必要な権限がないようです。

0
Iizuki

パッケージの再インストールはうまくいきました。

パッケージマネージャーコンソールから、次のコマンドを実行してすべてのパッケージを再インストールします。

update-package -reinstall

以下を使用して単一のパッケージをターゲットにできます。

update-package PACKAGE_NAME -reinstall

0
Ryan Varley

[エラー]リストで[ビルドのみ]を選択したことを確認してください。時間の無駄である[IntelliSense]を選択しないでください。

0
Kavi