从Resharper分析中排除Nuget部署的C#文件

时间:2015-06-20 13:03:20

标签: c# nuget resharper

我无法理解Nuget的行为。我创建了一个基本包,将一个Test.cs文件部署到项目的“HtmlHelpers”文件夹中。我正在遵循Nuget网站上描述的“基于约定的工作目录”方法。

enter image description here

我遇到的问题是没有为此文件启用Resharper文件分析(该文件目前没有编译,我没有分号):

enter image description here

但是,如果我将文件从“Test.cs”重命名为“Test2.cs”,那么Resharper会正确分析文件,显示语法错误:

enter image description here

有谁知道这里发生了什么?是否有一个Nuget提供的源文件的某个列表,然后从Resharper分析中排除?文件属性与任何其他C#文件相同,设置为Build Action“Compile”等。

EDIT1

要回答Stephen下面的问题,这是Resharper 8,我现在不在9。我已经尝试关闭并重新打开解决方案并排除并重新包含该文件,这两者都没有帮助。

有趣的是,如果分析在重命名的“Test2.cs”上正常工作,如果我将其重命名为“Test.cs”,分析将再次关闭:S

EDIT2

只是为此添加更多信息,如果您使用.pp扩展名Nuget-deploy C#文件,Resharper分析可以在生成的.cs文件上正常工作。去图。

2 个答案:

答案 0 :(得分:3)

ReSharper排除了作为NuGet包的一部分从分析中提供的源代码 - 它将其视为您未编写且不想维护的第三方代码。例如。它不会显示jquery.js或angular.js等文件的任何检查结果 - 您不拥有这些文件,不打算将它们作为项目的一部分进行维护,并且您所做的任何更改都可能获得下次更新项目时会覆盖。因此,对这些文件禁用检查,但文件仍被编入索引以允许导航。

答案 1 :(得分:0)

如果其他人遇到此问题,只有在Nuget提供.cs文件时才会发生这种情况。如果您让Nuget提供.cs.pp文件,Resharper会正确分析解决方案中生成的.cs文件。

当我开始这项工作时,我是Nuget的新手,但事实证明我需要制作.cs.pp文件,以便在导入时使用正确的项目命名空间。所以问题已经消失了。