在ASP.net网站上运行FxCop?

时间:2012-10-12 13:46:17

标签: asp.net visual-studio-2010 fxcop

如何针对ASP.net网站运行FxCop?

背景

我有一个ASP.net网站,我想反对运行FxCop。

注意:我有一个ASP.net网站,而不是ASP.net网络应用程序,我想要运行FxCop。

如何在Visual Studio 2010 Professional中对ASP.net网站运行FxCop?


Some people suggest这很简单:只需右键单击网站项目,然后点击在网站上运行代码分析

  

这个过程非常简单....只需右键单击网站项目并“在网站上运行代码分析”

他们忽略的是no such option exists

enter image description here


我还尝试了工具菜单 - >的的FxCop 即可。但当然这不起作用,因为它的命令行选项:

FxCopCmd.exe /c /f:$(TargetPath) /d:$(BinDir) /r:"C:\Program Files (x86)\Microsoft Fxcop 10.0\Rules"

对网站没有意义。


Someone has suggested,正确地说,这是不可能的,因为FxCop没有用于验证的程序集:

  

ASP.NET 2.0中的构建过程与ASP.NET 1.x中的构建过程非常不同,因为它不会生成dll文件。

     

这意味着你不能使用FxCop,因为它只能用于dll和exe文件类型。

这意味着如果没有将整个网站编译成一个程序集,就不能在ASP.net网站上运行FxCop。

如何针对ASP.net网站运行FxCop?

3 个答案:

答案 0 :(得分:2)

解决方法是预编译您的网站

  1. 使用aspnet_compiler.exe http://msdn.microsoft.com/en-us/library/bb398860(v=vs.100).aspx
  2. 预编译您的网站
  3. 对预编译的结果运行FxCop。
  4. 您无法看到“在网站上运行代码分析”,因为您的Visual Studio版本不够高(微软应该受到指责,因为所有版本都应该包含这些基本功能)。

答案 1 :(得分:1)

您可以发布您的网站,它将生成可以运行fxcop的dll。

Use-FxCop-with-ASPNET-20


ASP.NET 2.0中的构建过程与ASP.NET 1.x中的构建过程非常不同,因为它不会生成dll文件。这意味着您不能使用FxCop,因为它只能用于dll和exe文件类型。但是,有一种方法可以在Visual Studio 2005中从Web应用程序生成dll文件,这些DLL文件可以被FxCop使用。

以下步骤使FxCop分析您的Web应用程序:

第1步

在磁盘上的某处创建一个新文件夹。它可能是C:\ deploy

第2步

将Web应用程序发布到新文件夹

enter image description here

enter image description here

第3步

打开FxCop并添加新创建的bin文件夹(C:\ deploy \ bin)中的所有dll文件进行分析。

enter image description here

对于我们这些不使用Visual Studio Team System的人来说,这些是我们在FxCop中分析Web应用程序时需要遵循的步骤。让我们希望下一版本的Visual Studio能解决这个问题。

答案 2 :(得分:0)

或者您可以运行一个对源代码进行分析的工具,而不是编译的程序集。可能会节省一些宝贵的时间。