我已经从vs2012 pro上的ReSharper 7升级到vs2013 pro上的ReSharper 8.1,而ReSharper现在警告我很多部分视图无法解决。 它似乎只发生了:
E.g。 Home.Master
,位于〜/ Views / Home / HomeProfile.ascx中的〜/ Views / Home / Home.Master呈现UserProfile.ascx
。
1}}和<%: Html.RenderPartial("UserProfile") %>
都被ReSharper标记为无效。
此外,当我仅通过名称引用时,〜/ views / shared文件夹中的共享部分看起来很好:
但是,按路径引用视图似乎不起作用:
(注意。两张图片都是在Home.Master中拍摄的,在〜/ Views / Home中)
当我运行应用程序时,部分工作正常,所以它似乎是ReSharper 8.1中的一个变化。我能做些什么来解决这个问题吗?
答案 0 :(得分:6)
这是ReSharper中的一个错误。
现在最好的办法是将其设置为忽略此类错误。
您可以通过从左侧的“红色灯泡”中选择“检查选项”并将其设置为其他选项来执行此操作。希望很快就会修复!
编辑:请参阅此票证以了解该问题。 http://youtrack.jetbrains.com/issue/RSRP-395642
答案 1 :(得分:4)
通过使用相对引用,我已经解决了这个问题。所以在我的情况下,我在另一个项目中有一个视图(如果你试图超出当前项目而没有使用正斜杠开始&#34; /&#34;你会收到类似{{3}的警告对于你的问题,改变读取的行
<%Html.RenderPartial("UserProfile")%>
到
<%Html.RenderPartial("../../Views/Home/UserProfile")%>
或
<%Html.Partial("../../Views/Home/UserProfile.cshtml")%>
不确定这是否是您解决方案中的确切路径,但希望您能理解我所说的内容 - 您不能使用波浪号(〜)符号。您必须使用HTML的导航符号。显然不太理想,但我敢说它比改变检查规则更好。
此外 - 如果您确实需要删除检查,只需添加行
即可将其注释掉// ReSharper disable once Mvc.PartialViewNotResolved
... // code goes here
或
// ReSharper disable Mvc.PartialViewNotResolved
... // code goes here
// ReSharper restore once Mvc.PartialViewNotResolved
答案 2 :(得分:0)
我今天从ReSharper 2018.2.3收到此错误,是什么时候完成的:
@Html.Partial("_StatusMessage", Model.StatusMessage)
我还注意到了IHtmlHelper.Partial
方法本身的警告:
使用IHtmlHelper.Partial可能会导致应用程序死锁。考虑使用
标记帮助器或IHtmlHelper.PartialAsync。
所以我将代码更改为:
<partial name="_StatusMessage" model="Model.StatusMessage" />
那为我解决了。