在我的项目中,我有一个由许多其他类继承的类。我们称之为ClassBase。
public class ClassInheritFromBase : ClassBase
当继承ClassBase时,ReSharper会在ClassBase上抛出“不明确的引用”警告,并且继承自ClassBase的新类中的任何内容都没有IntelliSense,并且会收到无法找到它的警告。
该项目编译并运行良好。
如果我更改了ClassBase所在的命名空间,然后更改了继承类,他们发现它很好并且ReSharper没有问题,IntelliSense可以工作......直到它被编译。在编译之后,它会回到模糊的引用警告和其他所有内容。
之前是否已经看过这种情况,如何解决?我在JetBrains中看到了一个跟踪问题的条目就像这样,但是他们因为无法重现而将其关闭。
答案 0 :(得分:14)
对于那些仍然有问题的人,(我仍然不时地得到它)这里是我在ReSharper中摆脱模棱两可的参考警告所采取的步骤。
我在Visual Studio 2008中使用Resharper 5.1只引用了我正在使用的dll,这就是为什么我必须“更新引用”
答案 1 :(得分:5)
我使用的是VS 2012和ReSharper 7,有时我发现了相同的行为。这些步骤对我有用:
答案 2 :(得分:3)
我在ReSharper 4.1中看到过这个错误。它发生在基类位于App_Code目录中时。我不知道如何解决它;它非常烦人,但代码仍在编译中。
答案 3 :(得分:2)
这是ReSharper 4.1中的一个错误,并在之后的每晚版本中修复。
下载最后一夜的版本 http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nightly+Builds
答案 4 :(得分:1)
ReSharper - >选项 - >常规:单击#Clear Caches#按钮。
答案 5 :(得分:1)
对我而言,我不使用解决方案文件夹进行缓存。将它从TEMP位置更改为解决方案解决了我的问题。
答案 6 :(得分:1)
我删除了在我的解决方案的根目录中找到的_ReSharper.SolutionName文件夹并重新启动。
我正在使用带有ReSharper 5.1的Visual Studio 2010 ...清除缓存 DID NOT 帮助(ReSharper - &gt;菜单选项 - &gt; 常规< / em> - &gt; #Clear Cache#)。
答案 7 :(得分:1)
你可能真的有一个模棱两可的参考。在出现模糊引用错误的项目中,请务必检查项目引用。您可能有两次相同的引用,但是通过不同的命名空间作用域。在我的情况下,有两个,但有不同的路径(例子):
XXX.YYY.ZZZ.myassembly
ZZZ.myassembly
确保您的参考文献中没有此类内容。
答案 8 :(得分:0)
我遇到了同样的问题。我遇到的问题是由自定义构建提供程序(来自我使用的名为PageMethods的开源库)以及所有我的.aspx页面都从位于App_Code文件夹中的BasePage类继承而引起的。 / p>
我无法使用任何ReSharper版本来处理我的项目(4.1.933,4.1.943(最新)或4.5)。最新的ReSharper构建中的修复修复了“模糊参考”问题,但打破了自定义构建提供程序。
我可以让构建提供程序和基类与ReSharper一起使用的唯一方法是将基类放入一个单独的类库中。
以下是与此问题相关的已记录的Jira错误:
答案 9 :(得分:0)
我在AppCode文件夹中引用了C#类时遇到了同样的问题。
我通过将ReSharper升级到4.5版(从4.1版开始)解决了这个问题。
这是一个非常简单的升级,我只需从JetBrains网站(http://www.jetbrains.com/resharper/download/)获取最新版本并运行它。
我没有必要卸载以前的版本(v4.1)。 我没有必要重新输入现有的许可证密钥。
现在可以正确识别所有引用,我可以按预期导航到类。
答案 10 :(得分:0)
我遇到了与ReSharper 5.1相同的问题,并通过重新启动Visual Studio 2010解决了这个问题。
答案 11 :(得分:0)
使用VS 2013 Premium&amp; Resharper 8.1,并且在ASP.Net项目中遇到了这个问题。
对我有用的解决方案:
Copy Local = false
。Copy Local = true
(适用时)答案 12 :(得分:0)
使用R#2019.2.3并使用新的SDK .csproj格式(可在.NET引用,NUGET包和项目依赖项之间拆分引用)的情况下,R#仍倾向于在“程序集”下添加项目引用,甚至当依赖项下已经有项目引用时。这会导致歧义错误,但由于引用位于两个单独的位置,因此可能很难注意到。查找出现在“程序集”下的所有项目引用,然后将其删除。