Tag: 代码分析

生成文件的Visual Studio代码分析

有人能告诉我为什么代码分析显示生成的文件有问题吗? 我在这里检查选项: http : //msdn.microsoft.com/en-us/library/dd742298.aspx 我认为这与我在entity framework模型中使用TT tempate这一事实有关。 但那些文件上有标签..

CA1001 Visual Studio 2012代码分析警告。 这是什么意思?

它并不重要,但我想弄清楚它告诉我什么,这是一个合理的警告吗? 有人可以用简单的语言解释这个错误吗? CA1001拥有一次性领域的类型应该是一次性的 在’MemVoteManager’上实现IDisposable,因为它创建了以下IDisposable类型的成员:’CongressDBEntities’。 如果先前发布了“MemVoteManager”,则将实现IDisposable的新成员添加到此类型将被视为对现有使用者的重大更改。 public class MemVoteManager : AbstractDataManager, IMemVoteManager { private CongressDBEntities context = new CongressDBEntities(); public int AddMemVote(tMemVoteScore mvs) { //Insert Model context.tMemVoteScores.Add(mvs); context.SaveChanges(); int newPK = mvs.MemVoteScoresID; //Update funky column ID with PK as well var memVoteItem = (from m in context.tMemVoteScores where m.MemVoteScoresID == newPK select m).SingleOrDefault(); memVoteItem.ID = memVoteItem.MemVoteScoresID; […]

C# – 代码分析2227混淆

我有一个类属性,如下所示: public List RecipeList { get { return this._recipeList; } set { this._recipeList = value; OnPropertyChanged(“RecipeList”); } } 在另一种方法中,我有以下参考上面的属性。 private void RecipeSearch() { this.RecipeList = RecipeManagerService.SearchByUnit(SearchCriteria) .Where(recipe => recipe.IsApproved == true && !recipe.IsHidden).ToList(); } 代码分析正在发出CA 2227警告:通过删除setter将RecipeList更改为只读。 谁能告诉我为什么?

Windows Phone 8:监视混合C#/ C ++中的内存使用情况

我想监视使用Windows Phone运行时组件的Windows Phone 8上混合C#/ C ++应用程序的内存使用情况。 问题是,当在Visual Studio(ALT + F1)中打开分析工具包时,我只有“执行”选项(http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202934%28v= vs.105%29.aspx)。 对于“纯”C#项目,也可以使用内存选项。 是否有其他或多或少的简单方法来监控内存使用情况? 问候,

CS8019临时文件MSBuild Server上的Assemblyinfo出错

我的构建服务器上出现代码分析错误,错误是 … NETFramework,Version = v4.6.AssemblyAttributes.cs(3,1):错误CS8019:不必要的using指令。 这是Visual Studio创建的Temp文件。 在我的项目中,我有“ 从生成的代码中抑制结果(仅限管理) ”。 我原以为这就足够了。 但我仍然得到服务器上的错误,本地我没有。 有任何想法吗?

可以让代码分析理解代码合同吗?

在组合使用代码分析和代码合同时,我会收到很多警告 CA1062 :Microsoft.Design:在外部可见方法’Foo.Bar(Log)’中,在使用之前validation参数’log’。 在Foo.Bar中,我有一个validationlog的合同。 public Bar(Log log) { Contract.Requires(log != null); log.Lines.Add(…); // … } 有没有办法让FxCop理解代码合同?

“CA2000:在丢失范围之前处置对象”构建Unity容器

我正在使用以下代码,我得到fxCop voilation CA2000:在丢失范围之前处置对象: private static IUnityContainer BuildContainer() { var container = new UnityContainer().LoadConfiguration(); return container; } 删除此违规我使用以下代码: private static IUntyContainer BuildContainer() { using(var container = new UnityContainer()) { return container.LoadConfiguration(); } } 但是这段代码在解析依赖项时开始抛出exception。 有人可以帮我弄这个吗?

通过reflection查找属性使用计数

我有一个生成的文件,大约有10,000个公共静态属性和方法。 我怀疑它们中的大部分是完全未使用的,但是大约有50个程序集和数百万行代码需要检查以确定。 我想要做的是运行某种实用程序,它可以查看我们拥有的所有已编译的程序集,并告诉我这个类的哪些成员正在被调用,并为每个成员提供计数。 这样的事情是否可以通过reflection,或者我是否需要恢复到实际的代码分析工具? 是否有任何库可以分析程序集以在另一个程序集中找到它们的依赖项?

检测丢失处置的工具

即时搜索任何可以检测任何缺少处理调用的工具,这些调用可以执行数据访问和文件操作。 如果它检查另一个性能问题,那将是很好的。 顺便说一句,我需要在代码上运行该工具,而不是在执行上运行。 谢谢!

使用Roslyn CodeFixProvider向方法添加参数

我正在编写一个Roslyn代码分析器 ,我想识别async方法是否不采用CancellationToken然后建议添加它的代码修复: //Before Code Fix: public async Task Example(){} //After Code Fix public async Task Example(CancellationToken token){} 我已经通过检查methodDeclaration.ParameterList.Parameters来连接DiagnosticAnalyzer来正确报告Diagnostic,但是我找不到Roslyn API来将Paramater添加到CodeFixProvider的ParameterList 。 这是我到目前为止所得到的: private async Task HaveMethodTakeACancellationTokenParameter( Document document, SyntaxNode syntaxNode, CancellationToken cancellationToken) { var method = syntaxNode as MethodDeclarationSyntax; // what goes here? // what I want to do is: // method.ParameterList.Parameters.Add( new ParameterSyntax(typeof(CancellationToken)); //somehow return […]