如何针对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:
我还尝试了工具菜单 - >的的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?
答案 0 :(得分:2)
解决方法是预编译您的网站
您无法看到“在网站上运行代码分析”,因为您的Visual Studio版本不够高(微软应该受到指责,因为所有版本都应该包含这些基本功能)。
答案 1 :(得分:1)
您可以发布您的网站,它将生成可以运行fxcop的dll。
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应用程序发布到新文件夹
第3步
打开FxCop并添加新创建的bin文件夹(C:\ deploy \ bin)中的所有dll文件进行分析。
对于我们这些不使用Visual Studio Team System的人来说,这些是我们在FxCop中分析Web应用程序时需要遵循的步骤。让我们希望下一版本的Visual Studio能解决这个问题。
答案 2 :(得分:0)
或者您可以运行一个对源代码进行分析的工具,而不是编译的程序集。可能会节省一些宝贵的时间。