web-dev-qa-db-ja.com

まったく同じ名前空間を持つあいまいな参照

RCクラスはデータベースにリンクされておらず、単純なクラスです。クラスは1箇所のみで、部分的ではありません。 Aérochem.Domaindllプロジェクトは問題なくコンパイルされます。

注:クイックフィックスメニューで2つの同一のネームスペースのいずれかを選択しても、何も実行されません。

注2:これはいくつかのクラスで発生します(データベースに関連するクラスとそうでないクラス)

それを修正するか、何が悪いのかを理解する方法はありますか?

enter image description here

49
Mathieu

同じ問題がありました。私はReSharperを使用しています。私の問題の解決策は、解決策をきれいにするのではなく、suo-ファイルを削除することでした。お役に立てば幸いです。

42

将来のユーザーの参照に関して:このスレッドは4つの回答をカバーしていますが、2つはコメントに含まれています。私はこの問題に何度か直面しましたが、これらの回答のうち3つが過去に私を助けてくれたので、同じ問題に直面した場合は、次のいずれかを試してください。

  • ソリューションをクリーニングおよび/または再構築してから、Resharperでファイルを再分析します。
  • Visual Studioを再起動してから再分析する
  • Bin /フォルダーを削除してから再分析します
  • (どうやらsuoファイルを削除することも助けになりますが、私はそれをする必要がなく、どのように役立つべきか理解できませんが)
  • 上記の3つの組み合わせ。

(これは本当に新しい答えではなく、見つかったさまざまな答えやコメントに関するコメントです-コミュニティWikiなので、必要に応じて自由に変更してください)

13
chiccodoro

私のように、ソリューションの*.suoファイルを削除したくないReSharperユーザーの場合:

キャッシュをクリアReSharper -> Options -> Environment -> General -> Clear Caches

Clear ReSharper caches

この回答 へのコメントをありがとう AUSTX_RJL に行ってください。彼の貴重な情報をもっと見やすくしたかった。

11
Oliver

.dllはすでに私の/binフォルダ。

削除すると、このエラーは解消されました。

4
Nathan Koop

この問題が発生し、ReSharperもVisual Studioにインストールしました。

Print screen 1

Print screen 2

ReSharperでバグチケットを開く トラッカー

解決策:

この問題は、Solution User Options (.Suo) Fileを削除することで解決できます。このファイルはプロジェクトのルートに保存されますが、非表示です。 Folder Options-> View-> Show hidden files, folders, drives.を確認する必要があり、Visual Studioで使用されているためにこのプロジェクトを開いている場合は、Visual Studioを閉じる必要があります。

3
TotPeRo

.NET標準プロジェクトでこの問題が発生しました(ホストプロジェクトと呼びます)。問題を引き起こした名前空間は、同じソリューション内の別の参照プロジェクト(.NET標準プロジェクトでもあった)にありました。

クリーンアップ、リシャーパーキャッシュの削除、solnのクローズ、.suoの削除、バイナリの削除をすべて行いました。何も機能していないようでした。

次に、ホストプロジェクトを.NETフレームワークに変換すると、問題はなくなりました。

0
Sahin Ozsoy

私の場合、プロジェクトX自体を参照しています。したがって、問題はReSharperではありませんでした(ただし、参照を追加したのはReSharperでした...)

0

私にとっては、プロジェクト参照とアセンブリ参照の両方でDLLを参照していたためです。アセンブリ参照を削除すると問題が修正されました。

0

2つのパッケージが同じdllをあいまいに参照している間に同じ問題が発生しました。

パッケージの1つ(Dapper.StrongNameという名前)にalias nameを指定しました。次のコードを.csprojファイルに追加します。

  <Target Name="ChangeNameAlias" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences">
    <ItemGroup>
      <ReferencePath Condition="'%(FileName)' == 'Dapper.StrongName'">
        <Aliases>AliasName</Aliases>
      </ReferencePath>
    </ItemGroup>
  </Target>

そしてnamespaceusing AliasName::Dapper;として追加しました

ここに投稿を追加しました: Ambiguous extension methods

関連記事を見る:

0
Mayer Spitzer

プロジェクト構造に1つのソリューションの下に複数のプロジェクトが含まれる場合、すべてのプロジェクトでbinフォルダーのコンテンツを削除する必要があります。そうすることで、私が直面していたエラーを解決しました。

0
Hedego

これはかなり古い問題であることは知っていますが、これは誰かを助けるかもしれません。この問題がある場合、Asp.Net Core 2+でc#剃刀を使用している場合。

1)ファイルの内容をメモ帳にコピーします。

2).cshtmlファイルを削除します。

3)同じ名前で.cshtmlファイルを作成します。

4)メモ帳から新しいファイルにコンテンツをコピーします

これが単なる奇妙なバグなのか、プロジェクトをCore 1.0から2+にアップグレードした結果なのかはわかりませんが、最終的には問題を解決しました。これは、Visual Studio 2017と2019の両方の問題でした。

0
Greg F.