2015-06-20 61 views
1

我無法理解的NuGet的行爲排除在外的NuGet部署的C#文件。我創建了一個基本包,將單個Test.cs文件部署到項目中的「HtmlHelpers」文件夾中。我遵循Nuget站點上描述的「基於約定的工作目錄」方法。從ReSharper的分析

enter image description here

我遇到的問題是該文件未啓用ReSharper的文件分析(該文件目前不編譯,我已經離開了一個分號):

enter image description here

但是,如果我從「test.cs中」到「Test2.cs」重命名文件,然後ReSharper的分析文件顯示正確的語法錯誤:

enter image description here

有沒有人知道這裏發生了什麼?是否存在Nuget提供的源文件,然後從Resharper分析中排除?該文件屬性是相同的任何其他C#文件,全力打造集動作「編譯」等

EDIT1

要回答從下面斯蒂芬的問題,這是ReSharper的8,我不是目前9 。我嘗試關閉並重新打開解決方案,並排除並重新包含文件,這兩者都不能幫助。

有趣的是,分析工作正常上更名爲「Test2.cs」,如果我那麼其重命名爲「test.cs中」的分析再次關閉:S

EDIT2

我想補充一些更多信息,如果你使用.pp擴展名Nuget-deploy C#文件,Resharper分析可以正確處理生成的.cs文件。去搞清楚。

+0

你試過把它關掉再重新打開嗎?具體來說,如果您保存解決方案並關閉它並重新打開,Resharper會「醒來」嗎?你在使用Resharper的最新版本嗎?在最近的版本中似乎有一個錯誤,因爲它沒有分析新添加的文件;更新到最新版本爲我修復了它。只是可能這是一個相關的問題... –

+0

@StephenKennedy謝謝你給我一些想法,我已經爲我的問題添加了編輯部分。 – Apogee

+0

請問您可以在http://youtrack.jetbrains.com上發佈此問題供我們查看?謝謝。 –

回答

3

ReSharper的不包括已交付從分析NuGet包的一部分源代碼 - 它會將其作爲第三方的代碼,你沒有寫,不想維護。例如。它不會顯示諸如jquery.js或angular.js等文件的任何檢查結果 - 您不擁有這些文件,也不打算將它們作爲項目的一部分來維護,並且您所做的任何更改都可能會得到在下次更新項目時覆蓋。因此,這些文件的檢查被禁用,但這些文件仍被編入索引以允許導航。

+0

太棒了,這非常合理,謝謝你的答案。 – Apogee

0

以防萬一任何人有這個問題,如果的NuGet提供了一個cs文件時纔會發生。如果您讓Nuget提供.cs.pp文件,則Resharper會正確分析解決方案中生成的.cs文件。

我是新來的NuGet當我開始這項工作,事實證明,我需要反正讓他們.cs.pp文件,以導入時要使用正確的項目命名空間。所以這個問題已經消失了。