具有完全相同名称空间的不明确引用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有完全相同名称空间的不明确引用相关的知识,希望对你有一定的参考价值。

RC类没有链接到数据库,它是一个简单的类。班级只在一个地方而且不是偏袒的。 Aérochem.Domaindll项目编译得很好。

注意:如果我在快速修复菜单中选择两个相同的命名空间之一,它什么都不做。

注2:这种情况发生在几个类中(一些与数据库相关,一些不相关)

是否有解决方法或找出错误的方法?

答案

我有同样的问题。我使用ReSharper。我的问题的解决方案不是清理解决方案,而是删除suo文件。希望有所帮助。

另一答案

我有同样的问题,而两个软件包含糊不清地引用相同的dll,这对我有用:

我将alias name给了其中一个包(名为Dapper.StrongName),将以下内容放入我的.csproj文件中:

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

然后将namespace添加为using AliasName::Dapper;

我在这里添加了一个帖子:Ambiguous extension methods

查看相关文章:

另一答案

我知道这是一个相当古老的问题,但也许这会对某人有所帮助。如果在Asp.Net Core 2+中使用c#razor,如果您遇到此问题。

1)将文件内容复制到记事本。

2)删除.cshtml文件。

3)创建具有相同名称的.cshtml文件。

4)将记事本中的内容复制到新文件中

我不知道这是不是一个奇怪的错误,或者是将项目从Core 1.0升级到2+的结果,但它最终解决了我的问题。在Visual Studio 2017和2019中,这对我来说都是一个问题。

另一答案

至于任何未来用户的参考:这个帖子包含四个答案,而两个在评论中。我已多次面对这个问题,其中有三个答案在过去帮助了我,所以如果你遇到同样的问题,请尝试以下任何一个:

  • 清理和/或重建解决方案,然后重新分析Resharper中的文件。
  • 重新启动Visual Studio,然后重新分析
  • 删除bin /文件夹,然后重新分析
  • (显然删除suo文件也有帮助,虽然我从来没有这样做,也无法理解它应该如何帮助)
  • 以上三者的组合。

(这不是一个真正的新答案,它更多的是对所发现的各种答案和评论的评论 - 它是一个社区维基,所以如果有必要,请随时调整它)

另一答案

对于像我这样的ReSharper用户,他们不想删除他们的解决方案的*.suo文件:

通过以下方式清除您的缓存:ReSharper -> Options -> Environment -> General -> Clear Caches

Clear ReSharper caches

感谢AUSTX_RJLthis answer的评论。我想让他的宝贵信息更具可见性。

另一答案

.dll已经在我的/bin文件夹中。

当我删除它时,它摆脱了这个错误。

另一答案

我遇到了这个问题,并且还在Visual Studio上安装了ReSharper。

我在ReSharper tracker上打开bug票,开发团队建议我这样做:

解:

这个问题可以通过删除Solution User Options (.Suo) File来解决。此文件存储在项目根目录中,但是已隐藏。你需要检查Folder Options-> View-> Show hidden files, folders, drives.,如果你打开这个项目你需要关闭visual studio,因为visual studio使用它。

另一答案

如果您的项目结构在一个解决方案下包含多个项目,则必须删除每个项目中bin文件夹的内容。这样做解决了我所面临的错误。

另一答案

在我的例子中,我已经在其内部引用了项目X.所以问题不在于ReSharper(但ReSharper添加了引用......)

另一答案

我在.NET标准项目中遇到此问题(我将其称为主机项目)。导致问题的命名空间位于同一解决方案中的另一个引用项目(也是.NET标准项目)中。

我做了一切:清理,删除resharper缓存,关闭soln,删除.suo,删除二进制文件。似乎没什么用。

然后我将主机项目转换为.NET框架,然后问题消失了。

另一答案

对我来说,这是因为我通过Project引用和Assembly引用引用了DLL。删除程序集引用修复了该问题。

以上是关于具有完全相同名称空间的不明确引用的主要内容,如果未能解决你的问题,请参考以下文章

命名空间中的不明确引用

在 Swift UI 中使用 Picker 的不明确引用

jOOQ 内置方法生成具有完全限定的“列”名称的不确定查询

由于对成员 jsonObject 的不明确引用,我无法编译我的 alamofire 代码。为啥?

“System.Data.DataTable”和“Microsoft.Office.Interop.Excel.DataTable”之间的不明确的引用

如何包含两个不同的标题,其中包含两个具有相同名称的不同类?