【问题标题】:Nuget-deployed C# files excluded from Resharper analysis从 Resharper 分析中排除的 Nuget 部署的 C# 文件
【发布时间】:2015-06-20 13:03:19
【问题描述】:

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

我遇到的问题是该文件没有启用 Resharper 文件分析(该文件当前无法编译,我省略了分号):

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

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

编辑1

为了回答下面斯蒂芬的问题,这是 Resharper 8,我目前不在 9 上。我尝试关闭并重新打开解决方案并排除和重新包含文件,但都没有帮助。

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

EDIT2

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

【问题讨论】:

  • 您是否尝试将其关闭并重新打开?具体来说,如果您保存解决方案、关闭它并重新打开它,Resharper 会“唤醒”吗?您使用的是最新版本的 Resharper 吗?最近的版本似乎有一个错误,因为它没有分析新添加的文件;更新到最新版本为我修复了它。只是可能这是一个相关的问题......
  • @StephenKennedy 感谢您考虑这个问题,我已经在我的问题中添加了一个编辑部分。
  • 能否把这个问题发到youtrack.jetbrains.com 让我们看看?谢谢。
  • @DmitriNesteruk 没问题,已经在 YouTrack 上创建了问题

标签: c# nuget resharper


【解决方案1】:

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

【讨论】:

  • 太好了,这很有道理,谢谢你的回答。
【解决方案2】:

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

当我开始这项工作时,我是 Nuget 的新手,结果我需要将它们制作成 .cs.pp 文件,以便在导入时使用正确的项目命名空间。所以问题就解决了。

【讨论】:

    猜你喜欢
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 2013-02-10
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    相关资源
    最近更新 更多