ber*_*oss 14 asp.net-mvc-4 resharper-8.0
我已经从vs2012 pro上的ReSharper 7升级到vs2013 pro上的ReSharper 8.1,而ReSharper现在警告我很多我的部分视图无法解决.它似乎只发生了:
例如Home.Master,位于〜/ Views/Home/Home.Master渲染中UserProfile.ascx,位于〜/ Views/Home/UserProfile.ascx中.双方<%: Html.RenderPartial("UserProfile") %>并<%: Html.RenderPartial("~/Views/Home/UserProfile.ascx"%>通过ReSharper的标志为无效.
另外,当我仅通过名称引用时,〜/ views/shared文件夹中的共享部分看起来很好用:

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

(注意:两张图片都是在Home.Master中拍摄的,在〜/ Views/Home中)
当我运行应用程序时,部分工作正常,所以它似乎是ReSharper 8.1中的一个变化.有什么办法可以解决这个问题吗?
这是ReSharper中的一个错误.
现在最好的事情是将其设置为忽略此类错误.
您可以通过从左侧的"红灯泡"中选择"检查选项"并将其设置为其他选项来完成此操作.希望很快就能解决!
编辑:请参阅此票证以了解该问题.http://youtrack.jetbrains.com/issue/RSRP-395642
通过使用相对引用,我可以解决一个更简单的问题。因此,在我的情况下,我在另一个项目中有一个视图(如果您尝试不使用当前斜线“ /”而跳出当前项目,则会收到类似这样的警告。对于您的问题,请更改以下行:
<%Html.RenderPartial("UserProfile")%>
Run Code Online (Sandbox Code Playgroud)
至
<%Html.RenderPartial("../../Views/Home/UserProfile")%>
Run Code Online (Sandbox Code Playgroud)
要么
<%Html.Partial("../../Views/Home/UserProfile.cshtml")%>
Run Code Online (Sandbox Code Playgroud)
不确定这是否是您解决方案中的确切路径,但希望您理解我的意思-您不能使用波浪号(〜)。您必须使用HTML的导航符号。显然不是很理想,但我敢说这比更改检查规则要好。
另外-如果您确实需要删除检查,只需添加行将其注释掉
// ReSharper disable once Mvc.PartialViewNotResolved
... // code goes here
Run Code Online (Sandbox Code Playgroud)
要么
// ReSharper disable Mvc.PartialViewNotResolved
... // code goes here
// ReSharper restore once Mvc.PartialViewNotResolved
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6573 次 |
| 最近记录: |