热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何整合FxCop和VS2008?-HowtointegrateFxCopandVS2008?

Ifthisisduplicatedquestion,pleasepointmetotheproperlinkandIlldeletethisquestion.如果

If this is duplicated question, please point me to the proper link and I'll delete this question.

如果这是重复的问题,请指出正确的链接,我将删除此问题。

I know that in VS Team System I can use Code Analysis but I'm using VS Professional.

我知道在VS Team System中我可以使用代码分析,但我正在使用VS Professional。

Can you tell me how I can integrate FxCop and Visual Studio? I don't want to add FxCopCmd.exe to my Post-build events to run FxCop with every compilation. I want to be able to run FxCop when I choose by right clicking on the project in Solution Explorer.

你能告诉我如何整合FxCop和Visual Studio吗?我不想将FxCopCmd.exe添加到我的Post-build事件中以便在每次编译时运行FxCop。我想通过右键单击解决方案资源管理器中的项目来选择运行FxCop。

Thanks for your help.

谢谢你的帮助。

3 个解决方案

#1


It took awhile by I finally figure it out. It's not ideal but it works.

花了一段时间我终于明白了。这不是理想的但是有效。

Update: I create a post with step by step instructions:

更新:我创建了一个分步说明的帖子:

Thanks to aamit, who provided the link that put me on the right track even that solution in MSDN article doesn't work. Give him +1; he deserves it.

感谢aamit,即使MSDN文章中的解决方案不起作用,他也提供了使我走上正轨的链接。给他+ 1;他应得的。

1.) In FxCop GUI save your project.

1.)在FxCop GUI中保存您的项目。

IMPORTANT:

  • a. Save project in the same directory where your solution is.
  • 一个。将项目保存在解决方案所在的同一目录中。

  • b. Give the FxCop project name the same as your solution name and include the .sln extension.
  • 湾为FxCop项目名称提供与解决方案名称相同的名称,并包含.sln扩展名。

For example: If your solution name is MySolution.sln, the FxCop project name is going to be MySolution.sln.FxCop.

例如:如果您的解决方案名称是MySolution.sln,则FxCop项目名称将为MySolution.sln.FxCop。

2.) In Visual Studio select Tools -> External Toos

2.)在Visual Studio中,选择工具 - >外部Toos

3.) Enter following information in External Tools dialog box:

3.)在“外部工具”对话框中输入以下信息:

  • Title: FxCop
  • Command: C:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe
  • 命令:C:\ Program Files \ Microsoft FxCop 1.36 \ FxCopCmd.exe

  • Arguments: /c /p:"$(SolutionDir)\$(SolutionFileName).fxcop" /cXsl:"C:\Program Files\Microsoft FxCop 1.36\Xml\VSConsoleOutput.xsl"
  • 参数:/ c /p:"$(SolutionDir)\$(SolutionFileName).fxcop“/ cXsl:”C:\ Program Files \ Microsoft FxCop 1.36 \ Xml \ VSConsoleOutput.xsl“

  • Initial directory: C:\Program Files\Microsoft FxCop 1.36
  • 初始目录:C:\ Program Files \ Microsoft FxCop 1.36

Make sure that "Use Output window" checkbox is checked.

确保选中“使用输出窗口”复选框。

That's it. It works for me I hope it's going to work for you.

而已。它对我有用,我希望它对你有用。

#2


How about setting up FxCop as an external tool in Visual Studio? Here's the link:

如何在Visual Studio中将FxCop设置为外部工具?这是链接:

http://msdn.microsoft.com/en-us/library/bb429389(VS.80).aspx

#3


I run a command very similar Vadim's as a Post-Build event for the project. That way, I get the FxCop errors as soon as I recompile. But our commands are pretty much the same; nice to know at least two people in the world reached the same conclusion!

我运行一个非常类似Vadim的命令作为该项目的Post-Build事件。这样,我在重新编译时就会收到FxCop错误。但是我们的命令几乎是一样的;很高兴知道世界上至少有两个人得出了同样的结论!

The errors do show up in Visual Studo's Error List pane.

错误确实显示在Visual Studo的错误列表窗格中。

"%ProgramFiles%\Microsoft FxCop 1.36\FxCopCmd.exe"
/file:"$(TargetPath)" 
/console
/dictionary:"$(SolutionDir)Res\FxCop\CustomDictionary.xml"
/searchgac 
/ignoregeneratedcode

(You can omit the /dictionary argument; it just points to one of my custom dictionary files since FxCop flags a few variable names as Hungarian notation when they aren't. I also line-wrapped the command for readability.)

(您可以省略/ dictionary参数;它只指向我的一个自定义词典文件,因为FxCop将一些变量名称标记为匈牙利表示法,而不是。我还将命令行换行以便于阅读。)

It does make the build a little longer, but it's nice to see the errors right away and to tailor the command settings per project. Good luck!

它确实使构建时间更长,但很高兴立即看到错误并为每个项目定制命令设置。祝好运!


推荐阅读
  • 本文介绍了Tomcat的基本操作,包括启动、关闭及首次访问的方法,并详细讲解了如何在IDEA中创建Web项目,配置Servlet及其映射,以及如何将项目部署到Tomcat。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • C/C++中一级指针的内存模型与示例代码
    本文通过一个具体的C/C++代码示例,详细解析了一级指针在内存中的布局和工作原理。包括了对不同类型的指针变量如何在内存中分配空间的讨论。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
  • 本报告记录了嵌入式软件设计课程中的第二次实验,主要探讨了使用KEIL V5开发环境和ST固件库进行GPIO控制及按键响应编程的方法。通过实际操作,加深了对嵌入式系统硬件接口编程的理解。 ... [详细]
  • SSE图像算法优化系列三:超高速导向滤波实现过程纪要(欢迎挑战)
    自从何凯明提出导向滤波后,因为其算法的简单性和有效性,该算法得到了广泛的应用,以至于新版的matlab都将其作为标准自带的函数之一了&#x ... [详细]
  • 本文详细介绍了 Node.js 中 OS 模块的 arch 方法,包括其功能、语法、参数以及返回值,并提供了具体的使用示例。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文探讨了编译型语言与解释型语言的基本概念及其主要特征,分析了两种类型语言的优点与不足,并列举了各自的代表性编程语言。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
author-avatar
美晶婚纱-璐璐_723
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有