【问题标题】:Ignore Code Analysis for SqlMetal generated files忽略 SqlMetal 生成文件的代码分析
【发布时间】:2010-11-04 10:45:15
【问题描述】:

我正在开发一个包含 SqlMetal 生成文件的 C# 项目。我想使用代码分析。 我在代码分析选项中打开了“抑制生成代码的结果”,但它仍然报告 SqlMetal 类。有什么办法可以关闭它吗?

我正在使用 Visual Studio 2008 和 SqlMetal 2.0.50727.3082

【问题讨论】:

  • SqlMetal 类是否真的被标记为正在生成?见msdn.microsoft.com/en-us/library/…
  • @Stu:他们不是。我能看到的唯一抑制是“#pragma warning disable 1591”。我曾想过自己添加该属性,但我不想修改容易删除和重新生成的文件。

标签: visual-studio code-generation code-analysis sqlmetal


【解决方案1】:

一种选择是编辑生成的源代码,只需将“部分”添加到您关心的类中。

然后你可以添加一个单独的文件

[GeneratedCode]
public partial class Foo
{
}

对于你所做的每一个类 Foo

然后在重新生成时可能发生的最糟糕的情况是部分链接被破坏(这将导致编译错误,因此您知道这已经发生并且需要更正(简单而容易)。

我还建议您提交一个连接错误/请求,要求他们将此属性生成添加为 sql metal 本身的选项。

【讨论】:

  • 在这种情况下为每个类添加属性是不可行的,因为数据库仍处于不断变化的状态。一旦基类集发生变化,我就会再次遇到同样的问题。
  • 我很想为它提交功能请求,但我不知道怎么做。除了没有提供任何联系信息的 MSDN 库 (msdn.microsoft.com/en-us/library/bb386987.aspx) 中的内容之外,我找不到有关该工具的任何官方信息。
  • 因为它是通过 Visual Studio 使用的,所以在 Microsoft Connect 网站上提交了一个针对它的错误。
  • 我会认为,考虑到添加/重命名表所涉及的麻烦,将新文件添加到源代码管理的额外麻烦并不是那么糟糕......
【解决方案2】:

这是一个已知问题(但遗憾的是更正推迟到 Visual Studio 2010 之后的下一个版本):

http://connect.microsoft.com/VisualStudio/feedback/details/470206/code-analysis-and-designer-files

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    相关资源
    最近更新 更多