Asp.net mvc 4 Resharper无法解析母版页内的部分视图

Asp.net mvc 4 Resharper无法解析母版页内的部分视图,asp.net-mvc-4,resharper-8.0,Asp.net Mvc 4,Resharper 8.0,我已经从vs2012 pro上的ReSharper 7升级到vs2013 pro上的ReSharper 8.1,ReSharper现在警告我很多部分视图无法解决。 这似乎只是在发生: 在ASP母版页中(即非razor) 当.ascx分部文件与分部文件位于同一控制器文件夹中时 例如,Home.Master,位于~/Views/Home/Home.MasterUserProfile.ascx,位于~/Views/Home/UserProfile.ascx。 和都被ReSharper标记为无效 此

我已经从vs2012 pro上的ReSharper 7升级到vs2013 pro上的ReSharper 8.1,ReSharper现在警告我很多部分视图无法解决。 这似乎只是在发生:

  • 在ASP母版页中(即非razor)
  • 当.ascx分部文件与分部文件位于同一控制器文件夹中时
例如,
Home.Master
,位于~/Views/Home/Home.Master
UserProfile.ascx
,位于~/Views/Home/UserProfile.ascx。
都被ReSharper标记为无效

此外,当我仅按名称引用时,~/views/shared文件夹中的共享部分似乎可以很好地找到:

但是,按路径引用视图似乎不起作用:

(注意,这两张照片都是在Home.Master中拍摄的,位于~/Views/Home中)


当我运行应用程序时,这些部分工作正常,因此这似乎是ReSharper 8.1中的一个变化。我能做些什么来修复这个问题吗?

这是ReSharper中的一个bug

目前最好的办法是将其设置为忽略此类错误

您可以通过从左侧的“红色灯泡”中选择“检查选项”并将其设置为另一个选项来完成此操作。希望它能很快被修复


编辑:有关问题,请参阅此票据

通过使用相对引用,我得到了一个更简单的解决方案。因此,在我的例子中,我在另一个项目中有一个视图(如果您尝试在当前项目之外不使用正斜杠“/”开头,您将得到一个警告,如。对于您的问题,请更改以下行

<%Html.RenderPartial("UserProfile")%>


我今天从ReSharper 2018.2.3收到这个错误是什么时候发生的:

@Html.Partial("_StatusMessage", Model.StatusMessage)
我还注意到来自
IHtmlHelper.Partial
方法本身的警告:

使用IHTMLHelpE.部分可能导致应用程序死锁.请考虑使用TAG助手或IHTMLHelp.DealAlasyc.

因此,我将代码更改为:

<partial name="_StatusMessage" model="Model.StatusMessage" />


这对我来说已经解决了。

对于resharper团队来说,这似乎是一个不错的问题,而不是StackOverflow。stack overflow帮助主题特别提到了“程序员常用的软件工具”的问题是适当的。虽然我认为这是ReSharper的一个bug,但我希望这实际上是我做错了什么-因此询问堆栈溢出我有一个类似的问题,但对我来说,它只是在Razor页面中。更令人担忧的是JetBrain的论坛上似乎没有关于它的任何内容。如果我找到解决方案,我会发布b这里确认。它很容易在一个裸体项目中复制,所以我将它作为一个bug提交给JetBrains。但是如果你决定四处移动东西,你会非常头疼,因为你的路径配置不是在一个地方,而是分散在所有(部分)视图中。5年后,它看起来将在下一个版本中修复!(2018.2)
// ReSharper disable once Mvc.PartialViewNotResolved
... // code goes here
// ReSharper disable Mvc.PartialViewNotResolved
... // code goes here 
// ReSharper restore once Mvc.PartialViewNotResolved
@Html.Partial("_StatusMessage", Model.StatusMessage)
<partial name="_StatusMessage" model="Model.StatusMessage" />