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

时间:2012-08-16 14:56:08

标签: c# asp.net-mvc-3 ef-code-first resharper

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

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

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

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

enter image description here

11 个答案:

答案 0 :(得分:42)

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

答案 1 :(得分:12)

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

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

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

答案 2 :(得分:11)

对于 ReSharper 用户,与我一样,不想删除其解决方案的*.suo文件:

清除缓存ReSharper -> Options -> Environment -> General -> Clear Caches

Clear ReSharper caches

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

答案 3 :(得分:4)

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

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

答案 4 :(得分:3)

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

Print screen 1

Print screen 2

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

<强>解决方案:

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

就我而言,我已经在其中引用了proyect X.所以问题不在于ReSharper(但是ReSharper添加了引用......)

答案 7 :(得分:0)

我在.NET标准项目中遇到了这个问题(我称它为宿主项目)。导致问题的名称空间在同一解决方案中的另一个引用项目(也是.NET标准项目)中。

我做了所有事情:清理,删除重新共享缓存,关闭soln,删除.suo,删除二进制文件。似乎什么都没用。

然后我将宿主项目转换为.NET Framework,然后问题消失了。

答案 8 :(得分:0)

对我来说,因为我同时通过Project引用和Assembly引用都引用了DLL。删除大会参考即可解决此问题。

答案 9 :(得分:0)

当两个软件包模棱两可地引用相同的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

查看相关文章:

答案 10 :(得分:0)

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

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

2)删除.cshtml文件。

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

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

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