2017-09-27 58 views
3

我已经开始尝试用于构建MVC Web App的新ASP.NET Core 2,并且目前看起来不错...ASP.NET Core 2 - ReSharper“创建Razor视图”为Pages文件夹添加新视图

除了当我创建从我的控制器动作视图,ReSharper的在页面创建它们文件夹,而不是意见文件夹(我一般喜欢让我查看 ;-))

resharper create razor view view in pages folder

ReSharper的不行为这种方式定期ASP.NET Web应用程序(非核心),它把在正确的视图文件夹视图,所以这看起来是与核心/核心做2

resharper用什么来决定在哪里创建视图?

我该如何改变这种行为,以便它在传统位置创建视图?

回答

4

我认为这是Resharper中的一个错误,我怀疑它可能与刚刚发布的新的Razor Pages Apps .net core 2团队有关。

因此,也许你最好在Reshaper的Bug跟踪系统上填写一个问题。

但是,我设法设置了一个解决方法。我在这里分享这些步骤,以防万一你需要尽快解决这个问题,当JetBrains解决这个问题 - 如果它最终是一个问题:) - 你可以删除这个补丁。

  1. 安装用于Jetbrains注释的nuget包。

    Install-Package JetBrains.Annotations 
    
  2. 您asp.net核心项目的根目录下创建一个cs文件 - 我把它命名为ResharperConfig.cs - 具有以下内容:

    using JetBrains.Annotations; 
    
    [assembly: AspMvcMasterLocationFormat("~/Views/{1}/{0}.cshtml")] 
    [assembly: AspMvcViewLocationFormat("~/Views/{1}/{0}.cshtml")] 
    [assembly: AspMvcPartialViewLocationFormat("~/Views/Shared/{0}.cshtml")] 
    [assembly: AspMvcAreaMasterLocationFormat("~/Areas/{2}/Views/{1}/{0}.cshtml")] 
    [assembly: AspMvcAreaViewLocationFormat("~/Areas/{2}/Views/{1}/{0}.cshtml")] 
    [assembly: AspMvcAreaPartialViewLocationFormat("~/Areas/{2}/Views/Shared/{0}.cshtml")] 
    
  3. 构建您的项目,重启VS. (这对我很重要)。

  4. 当您重新打开解决方案时,R#将识别视图的位置。现在,您可以按照您使用的方式从操作中创建视图。

Resharper issue

希望这有助于!

+0

所以......这是一个非常有史诗性的答案,而且研究得很清楚,可能有效,我会将其标记为已接受。不过,我在看到您的答案之前更新了R#,现在它正常工作!无论如何谢谢 - 它教会了我如何定制R#行为。 – Erresen

+0

@Erresen非常感谢您的客气话。其实我想让你知道我使用R#的最新版本 - 2017.2.1进行了测试,因为我能够像你描述的那样重现问题,我认为这是一个bug,并开始研究,直到我能够“修复它”,所以这使得它更加恼人。你有哪个版本,你更新了哪个版本? –

+0

那真是太奇怪了!我使用的是VS2017社区,R#版本是2016.2或2016.3。2(对不起,我忽略注意以前的版本),并更新至2017.2.1。奇怪的是,更新修复了它,但不适合你... – Erresen

相关问题