jjzjj

c# - FxCop 投诉 : Exposed concrete xml types and a bad improvement

我想保存某些类,因为在我的情况下xml序列化不会这样做,所以我将这些值手动保存到xml文档中。工作正常,但FxCop不喜欢它,因为FxCop通常会给出很好的建议和我不应该以某种方式做事的原因,我试图让它开心。这一次,我不明白这是怎么改进的。这是我的:publicvoidSave(){XmlDocumentdoc=newXmlDocument();XmlNodeXmlNodeJob=doc.CreateElement("Job");doc.AppendChild(XmlNodeJob);OtherclassSave2(XmlNodeJob);//NodeasParameter}publi

c# - 从程序集中提取文字字符串

不太确定去哪里问这个。基本上,我负责我们产品的本地化。我需要一种方法来从已编译的程序集中提取所有文字字符串。我需要获取行号和源文件(用于比较)。我一直在使用FxCop,我刚刚创建了一个规则来吐出所有“ldstr”指令。但是,这依赖于过时的FxCop(我相信)。我也考虑过使用ildasm,但我找不到任何关于如何解析输出以可靠地检索我需要的信息的教程。那么,是否有实用程序来处理这个问题?我没有想到的简单方法?我也想避免像ReSharper这样的扩展,因为它只在解决方案的当前状态下运行;例如我无法生成用于比较的输出。 最佳答案 ildas

c# - 如何修复 FxCop 错误代码 512?

在重构、四处移动一些程序集等过程中。我在VisualStudio中编译了一个解决方案并返回了一条错误消息:“FxCop已退出,错误代码为512”。除了这个错误之外,构建看起来还不错。有谁知道这实际上是什么意思?我可以从哪里开始寻找解决方法?将FailOnError设置为false不是我想要走的路。 最佳答案 其他答案都在正确的轨道上,但遗漏了一小部分。抑制是一种选择,但您可能会隐藏有关重要dll的错误,这不是一件好事。随机的依赖目录容易出错。Xml报告是要查看的地方,但FxCopMSBuild任务不会显示将它们放在哪里:(为了从命令

c# - Visual Studio 代码分析规则 - "Do not expose generic lists"

Donotexposegenericlists如果我所有的方法都需要公开一个集合,那么我需要使用LinqExtension.ToList(),几乎所有我需要使用列表的地方,或者我所有代码中的用户集合。如果是这样的话,.ToList()是在忽略规则吧?或者是否有一种技术,例如复制列表o来解决违规问题并仍然返回列表? 最佳答案 我禁用了该规则,因为我觉得它无效。如果你想返回一个包含O(1)的集合count并且不是对内部字段的直接引用,List是最好的选择。我不太了解您的情况,但听起来您有一种方法可以返回对某些内部数据的LINQ查询。如果

c# - 让 FxCop 抑制整个类型的警告?

如何抑制整个类型的FxCop警告?namespaceConsoleApplication1{publicstaticclassSerializer{publicstaticstringSerialize(Tobj){returnstring.Empty;}publicstaticTDeserialize(stringstr){returndefault(T);}}我试过了,但它对我不起作用:[assembly:SuppressMessage("Microsoft.Design","CA1000:DoNotDeclareStaticMembersOnGenericTypes",Scope

c# - Visual Studio 代码分析错误 CA 1006

代码分析抛出错误CA1006:Donotnestgenerictypesinmembersignatures每当我们在接口(interface)契约中定义自定义定义时。处理这个所谓的设计问题的最佳方法是什么。对此有任何深刻的想法。感谢您抽出宝贵时间来完成此过程。例子:-Task>LoadAllEmployeeAsync(); 最佳答案 CA1006:Donotnestgenerictypesinmembersignatures我认为规则非常明确。然而,其背后的原因是,无论谁使用您的类,都必须经历一个复杂的过程来实例化复杂的参数,并降

c# - 如何使用关闭方法正确实现处置模式 (CA1063)

框架设计指南(第2版,第327页)说:CONSIDERprovidingmethodClose(),inadditiontotheDispose(),ifcloseisstandardterminologyinthearea.Whendoingso,itisimportantthatyoumaketheCloseimplementationidenticaltoDisposeandconsiderimplementingIDisposable.Disposemethodexplicitly.所以,按照提供的示例,我得到了这个类:publicclassSomeClass:IDisposa

c# - 我们应该在成熟的项目中开始使用 FxCop 和/或 StyleCop 吗?

我们有3年历史的解决方案(.sln)和大约20个项目(.csproj)。开始使用FxCop和/或StyleCop是否合理?也许我们应该首先将它用于几个小项目而不是整个解决方案?能看到一些有经验的回答就好了。谢谢。编辑:我们正在使用TeamCity进行持续集成。而且我们不可能使用ReSharper。:(仅限CodeRushXpress。 最佳答案 是的,你应该,但要慢慢来。获取ReSharper的副本,安装StyleCop,并获取ReSharper插件的StyleCop,设置您要使用的规则,从那时起,您打开的每个文件都会充满波浪形的蓝

c# - CA1819 : Properties shouldn't return arrays - What is the right alternative?

我以前遇到过这个FxCop规则,但对如何解决违规问题并不满意(thread1、thread2)。我现在有另一个案例,我需要纠正违反CA1819的行为亲切。具体来说,我有一个算法库,它使用如下所示的公共(public)“输入对象”对曲线(x,y)执行一些分析计算:publicclassInputObject{publicdouble[]X{get;set;}publicdouble[]Y{get;set;}//+lotsofotherthingswell}此对象的X和Y属性在库中的数百个位置使用,通常使用索引。输入对象永远不会被算法改变,但实际上如果是这样也无关紧要。另外,.Length

c# - 当你的实现是一个空方法时,你如何 "properly"实现 Dispose() (根据 FxCop)? (CA1063)

我有一个接口(interface)的实现,该接口(interface)扩展了IDisposable。在我的特定接口(interface)实现中,我不需要处理任何东西,所以我只有一个空的Dispose()方法。publicinterfaceIMyStuff:IDisposable{}publicMyStuffImpl:IMyStuff{publicvoidDispose(){}}现在在FxCop中,这会导致CA1063:Error,Certainty95,forImplementIDisposableCorrectly{Resolution:"Provideanoverridableim