Asp.net mvc 3 在生成服务器上使用视图帮助程序编译MVC 3视图失败

Asp.net mvc 3 在生成服务器上使用视图帮助程序编译MVC 3视图失败,asp.net-mvc-3,tfsbuild,Asp.net Mvc 3,Tfsbuild,我已经将MvcBuildViews元素设置为true,这样我的MVC3项目也会编译视图 然而,正因为如此,我们的构建服务器正在使构建失败。我四处寻找可能的原因,但我的问题似乎与常见问题不同: 错误:\u Layout.cshtml(xx):名称“Element”在当前上下文中不存在。 在本例中,元素是我们对助手视图的引用,调用其方法之一 你知道问题出在哪里吗 (顺便问一下,构建服务器是TFS2010)你看到这篇文章了吗 我发现了问题的根源。我在这里更新,这样每个人都可以从我的情况中学习 TFS构

我已经将
MvcBuildViews
元素设置为true,这样我的MVC3项目也会编译视图

然而,正因为如此,我们的构建服务器正在使构建失败。我四处寻找可能的原因,但我的问题似乎与常见问题不同:

错误:
\u Layout.cshtml(xx):名称“Element”在当前上下文中不存在。

在本例中,
元素
是我们对助手视图的引用,调用其方法之一

你知道问题出在哪里吗


(顺便问一下,构建服务器是TFS2010)

你看到这篇文章了吗

我发现了问题的根源。我在这里更新,这样每个人都可以从我的情况中学习

TFS构建服务器一直失败,因此为了继续项目,我刚刚编辑了MVC项目,这样它就不会在服务器上编译视图,而只在我们的开发机器上编译视图。为了做到这一点,我从

  <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
而不是

<Content Include="App_Code\Element.cshtml" />

我只是改变了引用的方式(不知道它是怎么变成这样的),一切都像一个符咒

故事的寓意:注意错误所说的内容


现在我很好奇为什么它不会在我们的开发机器上失败。可能是因为生成服务器有不同的输出文件夹,所以在输出中找不到.cshtml?也许这是其他问题的答案…

你能展示一下_Layout.cshtml吗?这是一个很大的文件,我不能展示NDA协议的代码。不过,你到底想检查什么?带有错误的特定行只不过是一个Helper调用:
@Helper PutElement(){@Element.Method(param,param,param)}
谢谢,是的,我做了。我的项目是MVC 3,所以我没有这个问题(我验证了项目文件)。此外,我得到的错误似乎与众所周知的错误(Phil Haack解释的错误)不同。
<None Include="App_Code\Element.cshtml" />
<Content Include="App_Code\Element.cshtml" />