使用 MVC 和 WebAPI 避免 Resharper <location> web.config 警告
如果文件中的元素涉及與源樹中的文件夾不直接對應的 URL,ReSharper 7.1.1 程式碼檢查會錯誤地將文件中
<location>的元素報告為冗餘。web.config如果您使用的是 ASP.NET MVC 或 Web API,則 URL 路徑不直接對應於任何特定的物理文件夾是正常的。如果您執行解決方案範圍的檢查,您會收到兩個警告,我已經能夠禁用其中一個,但我不知道如何禁用第二個。
第一個是“冗餘位置元素”警告。ReSharper 淡出整個位置部分。這是它會淡出的範例:
<location path="FederationMetadata"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>如果您通過 ACS 使用聯合登錄,並且您希望為此提供元數據端點,則需要此配置。但是不會有這個名字對應的路徑。
(嚴格來說,這與MVC或Web API無關。我給出這個例子是因為它很常見。但是,我的項目也有幾個
<location>元素對應於通過MVC和Web API路由配置處理的路徑,它們有同樣的問題。根本原因似乎是相同的:ReSharper 在項目中看不到與此位置對應的任何內容,因此它錯誤地得出結論認為它是錯誤的。它影響 MVC 和 Web API 控制器,以及任何路徑由於模組等原因可用。)擺脫第一個警告很容易:您可以在“檢查嚴重性”設置中將其關閉。
然後你會得到第二個警告:“位置元素未使用:在 FederationMetadata 中找不到項目項目”(以及每個具有相應
<location>元素的控制器的類似警告)。這個僅出現在您檢查整個解決方案時出現的“檢查結果”面板中。當您查看源文件本身時,通常不會出現任何檢查小元件。奇怪的是,這個似乎沒有被禁用的選項。
我知道您可以右鍵點擊並選擇“隱藏…”(儘管這似乎認為這是一個“冗餘位置”問題,我已經在設置中禁用了該問題),但據我所知,隱藏檢查結果在我的機器上是本地的。我想配置團隊共享點設置,以便它不會在任何地方顯示此警告。
我的目標是為所有使用者提供乾淨的檢查結果,而不是讓每個使用者隱藏結果。Resharper 虛假地報告了這個問題 -
web.config很好,只是 R# 誤解了它。有誰知道我怎樣才能使第二個警告消失?(或者,更好的是,有什麼方法可以讓 R# 能夠知道這些“隱藏”位置確實存在?)
我剛剛添加了這個:
<!-- ReSharper disable WebConfig.RedundantLocationTag --> <!-- ReSharper disable WebConfig.WebConfigPathWarning --> <location path="api"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location> <!-- ReSharper restore WebConfig.RedundantLocationTag --> <!-- ReSharper restore WebConfig.WebConfigPathWarning -->
您可以更改 R# 設置,使其不在您的電腦本地。
- 在VS中,點擊
RESHARPER菜單,然後點擊Manage Options...- 點兩下該
team-shared項目(應該是中間的,介於This computer和之間personal)。通過在此處更改設置,它將
[ProjectName].csproj.DotSettings在您的項目中創建一個文件。如果您將此文件簽入原始碼管理,這些設置將與在項目上開發的其他 R# 使用者共享。AFAIK,您可以更改的任何設置(例如,告訴 R# 檢查嚴重性應該不同於預設設置),您應該能夠添加到團隊共享設置中。至於您的 web.config 錯誤,我對 R# 有更大的不滿,因為啟用它後,我會在 web.config 和 app.config 文件上失去智能感知。您可能可以告訴 R# 忽略以下錯誤,但我不確定它是否是您正在尋找的解決方案,因為它將忽略 web.config 文件的所有 R# 問題。
- 點兩下編輯您的
team-shared設置(如上所述)後,點擊左側菜單Settings下的項目。Code Inspection- 點擊
Edit Items to Skip button。- 在 下
Files and folders to skip when analysing,點擊Add File...。- 導航到您的 web.config 文件並添加它。
這告訴 R# 在分析時忽略整個 web.config 文件。同樣,不確定這是否是您想要的解決方案,但它可能會抑制您看到的錯誤建議。
更新(回複評論)
實際上,您可以從 VS 上下文菜單中更改檢查選項。當
Inspection Options對話框出現單選按鈕 (Do not show-Error) 時,會有一個Save To按鈕。點擊該按鈕將設置保存到團隊共享的 DotSettings。