NuGet或VSIX或两者?

使用.NET Compiler Platform SDK模板时(https://visualstudiogallery.msdn.microsoft.com/849f3ab1-05cf-4682-b4af-ef995e2aa1a5)

使用Code Fix创建Roslyn Diagnostic,我得到了一个N​​uGet包和一个VSIX - 正如自述文件所述:

“构建此项目将生成一个分析器.dll,以及以下两种您可能想要打包该分析器的方法:

  • 一个NuGet包(.nupkg文件),将您的程序集添加为参与构建的项目本地分析器。

  • VSIX扩展名(.vsix文件),将您的分析器应用于所有项目并在IDE中正常工作。“

  • 现在有以下情况:如果安装了这两者 - NuGet作为项目的一部分(例如,该项目的公司政策),开发人员本地安装的VSIX部分(例如,她也为其他项目获得分析器)。 截至今天,对于上述情况,建议将显示两次。

    我能不知何故告诉VS2015两个(NuGet / VSIX)实际上是相同的(并且它只运行一次)? 或者是部署的一种方法(例如NuGet)和其他(VSIX)仅用于调试诊断(比NuGet更方便)? 有关于此的一些官方指导?

    (注意:我工作在NR6Pack上)


    我们最近根据分析仪名称对统一进行了修改。 因此,在VSIX分析器和Project分析器都具有相同的AssemblyName的情况下,它只会运行一次,并且错误列表中仅报告一次问题。 这种变化应该在VS2015的下一次更新中显示(尽管不幸,它并没有进入最近发布的VS 2015 CTP5)。

    关于NuGet vs VSIX作为部署机制的选择:

  • 通过NuGet进行部署并将分析仪附加到项目中意味着分析仪会将该项目与源控件一起移动,因此很容易对团队应用相同的规则。 这也意味着命令行构建报告分析器报告的问题。
  • 部署为VSIX意味着VS中的每个项目和这些问题都不会通过命令行构建生成。
  • 我想这是因为大部分规则都应该通过NuGet部署并且在团队层面上实施,但是个人偏好的规则应该可以通过VSIX来部署。

    链接地址: http://www.djcxy.com/p/83165.html

    上一篇: NuGet OR VSIX OR both?

    下一篇: Search by order item SKU or ID in Woocommerce Orders Admin page