2017-09-27 57 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

相關問題