在我切换到测试驱动开发之后,我最近开始构建自己的视图,以提高代码的质量和可维护性。
这很有帮助,编译器在我的观点中发现了一些缺陷,比如已重命名的变量或其他类似的东西。
然而,现在,当我构建我的解决方案时,我看到了一些误报。这是一些以前在运行时运行良好但现在无法编译的代码示例:
<script type="text/javascript">
var url = null;
@{
Html.Raw("url = 'doesnt work';");
}
url = "@Url.Action("DoesNotWorkEither")";
</script>
请记住,当我在服务器上执行它而不首先构建视图时,它实际上会运行!
收到的错误
代码中的字符无效
@{
预期的 ';' 在代码
url = "@Url.Action("DoesNotWorkEither")";
我该如何解决这些错误?
更新 1
应该注意的是,忽略这个错误对我来说不是一个选择。你看,它甚至不能构建(因为我启用了视图的构建)。这意味着它也将无法在我的构建服务器上构建,我已经在其中进行了签入(不允许在构建和运行测试之前提交签入)。
更新 2
正如在对答案的评论中向我解释的那样,这显然只是一个可以忽略的 Visual Studio 解析器错误。构建服务器实际上也会构建视图并告诉您视图中是否存在具体错误,但会忽略误报。