29

私のプロジェクトには、他の多くのクラスに継承されるクラスがあります。これを ClassBase と呼びます。

public class ClassInheritFromBase : ClassBase

ClassBase が継承されている場合、ReSharperは ClassBaseで「あいまいな参照」警告をスローし、ClassBase から継承された新しいクラス内のすべてに IntelliSense がなく、見つからないという警告を受け取ります。

プロジェクトは正常にコンパイルおよび実行されます。

名前空間 ClassBase を変更してから継承クラスを変更すると、ReSharper は問題なく、IntelliSense はコンパイルされるまで動作します。コンパイル後、あいまいな参照の警告とその他すべてが表示されます。

これは以前に見られたことがありますか?どうすれば修正できますか? このような問題の JetBrains バグ追跡のエントリを見ましたが、再現できないとしてクローズされました。

4

13 に答える 13

15

これでまだ問題がある人のために(私はまだ時々それを取得します)、ReSharperのあいまいな参照警告を取り除くために私が行った手順は次のとおりです。

  1. まず、すべてのクラスライブラリにアクセスし、他のクラスライブラリへのすべての参照でCopyLocalプロパティがfalseに設定されていることを確認しました。
  2. あいまいな参照警告を実際に受け取ったプロジェクトでは、binカタログに移動し、独自のプロジェクトを持つすべてのライブラリのすべての.dllファイルと.pdbファイルを削除しました。
  3. 新しいビルドの後、または私の場合はVSの.dllファイルの「参照を更新」すると、Resharperからのエラーはなくなりました。

Visual Studio2008でResharper5.1を使用しており、使用しているdllへの参照のみを使用しているため、「参照を更新」する必要がありました。

于 2011-01-20T08:33:01.257 に答える
3

このバグはReSharper4.1で見ました。これは、基本クラスがApp_Codeディレクトリにある場合に発生します。修正方法がわかりません。非常に煩わしいですが、コードはまだコンパイルされます。

于 2008-11-04T22:43:49.020 に答える
2

あなたは本当にあいまいな参照を持っているかもしれません。あいまいな参照エラーが発生するプロジェクトでは、プロジェクト参照を確認してください。同じ参照が 2 回ある可能性がありますが、異なる名前空間をスコープとしています。私の場合、2つありましたが、パスが異なります(例):

XXX.YYY.ZZZ.myassembly
ZZZ.myassembly

リファレンスにこの種のものが含まれていないことを確認してください。

于 2015-07-06T19:57:27.077 に答える
1

ReSharper -> オプション -> 一般: # キャッシュのクリア # ボタンをクリックします。

于 2010-08-11T13:32:39.030 に答える
1

これは ReSharper 4.1 のバグであり、後のナイトリー ビルドの 1 つで修正されています。

http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nightly+Buildsで最後のナイトリー ビルドをダウンロードし ます。

于 2008-12-15T21:29:03.923 に答える
1

私にとっては、ソリューション フォルダーをキャッシュに使用しないことが問題でした。TEMPの場所からソリューションに変更すると、問題が解決しました。

于 2011-02-26T11:35:36.927 に答える
1

ソリューションのルートにある _ReSharper.SolutionName フォルダーを削除して、再起動しました。

私はReSharper 5.1でVisual Studio 2010を使用していました...キャッシュをクリアしても解決しませんでした(ReSharper -> メニューオプション->一般-> #キャッシュのクリア#)。

于 2011-08-26T08:19:57.340 に答える
0

AppCodeフォルダー内のC#クラスへの参照で同じ問題が発生していました。

ReSharperをバージョン4.5(バージョン4.1から)にアップグレードすることでこれを解決しました。

非常に簡単なアップグレードでした。JetBrainsのWebサイト(http://www.jetbrains.com/resharper/download/)から最新バージョンを入手して実行するだけでした。

以前のバージョン(v4.1)をアンインストールする必要はありませんでした。既存のライセンスキーを再入力する必要はありませんでした。

これですべての参照が正しく認識され、期待どおりにクラスに移動できます。

于 2009-10-28T11:51:27.670 に答える
0

VS 2013 Premium & Resharper 8.1 を使用しており、ASP.Net プロジェクトでこの問題が発生していました。

私のために働いた解決策:

  1. クリーンなソリューションを実行します。
  2. 問題のあるプロジェクトの参照を開く
  3. ソリューション内の別のプロジェクトを参照する各参照で、 を設定しCopy Local = falseます。
  4. ソリューションの再構築を試みます。未解決の参照エラーが発生する可能性がありますが、これは正常です。
  5. 各参照を元に戻すCopy Local = true(適切な場合)
于 2014-03-14T16:56:49.303 に答える
0

ReSharper 5.1 で同じ問題が発生し、Visual Studio 2010 を再起動して解決しました。

于 2011-03-09T07:18:30.710 に答える
0

同じ問題が発生しました。私が抱えていた問題は、カスタム ビルド プロバイダー (私が使用しているPageMethodsというオープン ソース ライブラリからのもの) と、すべての .aspx ページが App_Code フォルダーにある BasePage クラスを継承しているという事実によって引き起こされました。

プロジェクトで動作する ReSharper のビルドを取得できませんでした (4.1.933、4.1.943 (最新)、または 4.5)。最新の ReSharper ビルドの修正により、「あいまいな参照」の問題が修正されますが、カスタム ビルド プロバイダーは機能しなくなります。

ビルド プロバイダーと基本クラスの両方を ReSharper で動作させる唯一の方法は、基本クラスを別のクラス ライブラリに配置することでした。

以下は、この問題に関連すると思われる記録された Jira バグです。

于 2009-03-03T12:00:02.557 に答える