自动在ASP.NET页面中查找编译错误

时间:2011-01-20 16:53:13

标签: asp.net compiler-construction syntax-error

我有一个ASP.NET网站,其中页面调用DLL中的一些组件。我需要更改组件中方法的签名,而不进行文本搜索,不知道这是否会破坏任何页面。 IMO,这是Web编程的弱点 - 你没有得到编译器的好处,告诉你语法错误。

但它不需要如此。有没有人知道是否有办法在网站上运行蜘蛛查看编译错误,或者某些工具可以编译文件夹结构中的所有.aspx文件以查找编译错误?

这仅用于语法检查 - 而不是实际预编译网站。

编辑建议使用aspnet_compiler。我没有在网站上使用Visual Studio项目 - 随着时间的推移,我使用自己的模板系统(在Master Pages可用之前)。那么在文件夹中的所有文件上运行aspnet_compiler的东西可能会起作用......

3 个答案:

答案 0 :(得分:2)

您可以在项目中添加一个标志,告诉它在编译项目时编译所有aspx文件。它为您的构建增加了时间,但它有时是值得的。见http://mikehadlow.blogspot.com/2008/05/compiling-aspx-templates-using.html

此外,Resharper非常擅长查找方法的引用,即使在aspx文件中也是如此。因此,如果您使用Resharper重命名方法,只要您的解决方案包含Web项目,它也会在aspx文件中找到并重命名该方法。

答案 1 :(得分:1)

这是我们首先使用Visual Studio等开发工具的众多原因之一。最简单的方法就是使用IDE进行开发,即使您选择发布未编译的代码,也可以编译并检查错误。

由于Microsoft免费提供Visual Web Developer,因此没有理由不使用它。

答案 2 :(得分:1)

编译器将自动捕获并报告.cs源代码或代码隐藏页面中的任何错误。您认为编译器不会捕获语法错误(例如在调用方法时以错误的顺序获取参数等)的假设是不正确的 - 这是使用编译语言的主要好处之一。如果您遇到与此相矛盾的事情,请发布一些代码。

如果您担心ASPX文件或视图中的错误(如果使用MVC),您也可以使用IDE预编译ASPX文件

See this article for more information

我大部分时间关闭它,因为它减慢了编译速度,但我在部署网站之前使用它作为额外的验证步骤。