c# - ASP.NET Core 2 - ReSharper "Create Razor View"将新 View 添加到 Pages 文件夹

标签 c# asp.net asp.net-core resharper asp.net-core-2.0

我已经开始尝试使用新的 ASP.NET Core 2 来构建 MVC Web 应用程序,到目前为止它看起来不错......

除了当我从我的 Controller 操作创建 View 时,ReSharper 在 Pages 文件夹中创建它们,而不是 Views 文件夹(我通常喜欢在其中保存我的 < em>浏览量 ;-) )

resharper create razor view view in pages folder

对于常规 ASP.NET Web 应用程序(非核心),ReSharper 不会以这种方式运行,它会将 View 放在正确的 View 文件夹中,因此这看起来与 Core/Core 2 有关。

resharper 使用什么来决定在哪里创建 View ?

我如何更改此行为,以便它在传统位置创建 View ?

最佳答案

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

所以,也许您最好在 Reshaper 的错误跟踪系统上填写一个问题。

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

  1. 为 Jetbrains Annotations 安装 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# 将识别 View 的位置。现在您可以按照您习惯的方式从操作中创建 View 。

Resharper issue

希望这对您有所帮助!

关于c# - ASP.NET Core 2 - ReSharper "Create Razor View"将新 View 添加到 Pages 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46455652/

相关文章:

sql-server - Docker 容器无法连接到远程服务器上的 SQL Server

c# - 如果后面出现一个字符,则忽略该字符的第一次出现

c# - 模型应该如何在 MVVM 中实现?

c# - 带有 NUnit 和 AutoData 的 AutoFixture 抛出 TargetParameterCountException

c# - 系统.ServiceModel.CommunicationException : The underlying connection was closed

c# - 使用带有 DBContext 依赖注入(inject)的部分 View 模型实例在 _layout.cshtml 中呈现部分 View

c# - 先读取 IEnumerable 或等待其完成更改

c# - 动态获取照片?

javascript - getElementById 在一种环境中有效,但在另一种环境中无效

javascript - 如何选择所有复选框并传递给 Controller