我想要一个msbuild任务来编译视图,这样我就可以看到编译时是否存在编译错误...编译时.有任何想法吗?
我可以在我的本地计算机上运行我的Asp.Net MVC 2应用程序而不会出现问题.只需运行/调试.
但如果我已经建成它,我就无法发布它!我必须清理解决方案并再次发布.我知道这不是系统关键,但它真的很烦人."一键发布"不是"清洁解决方案,然后单击发布"
确切的错误如下:
错误11使用在应用程序级别之外注册为allowDefinition ='MachineToApplication'的部分是错误的.此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的.
我怀疑它与Views文件夹中的Web.Config有关,但是为什么只有在我之前构建一次之后.请注意,该应用程序一旦发布就可以正常工作.
我最近安装了VS 2012 Professional.
当我尝试构建我的MVC4 Web项目时.当我执行"构建"或"重新构建"时,它无法识别剃刀视图中的错误.
示例:
我从项目中删除了一个名称空间/或者说重命名了它.我构建了解决方案,它给了我所有cs文件中的错误,我通过更改命名空间来修复.整个解决方案成功构建.当我运行该项目时,它给了我编译错误,说明找不到命名空间,因为旧的命名空间仍然在某些视图(*.cshtml文件)中被引用.
预期的解决方案:
我希望当我进行"构建"或"重新构建"时,它应该识别这些错误并向我显示任何其他错误.
这与VS 2010一起工作正常,我是否缺少任何配置?
提前致谢 !!阿米特
编辑 我自己找到了答案,我认为发布问题还为时过早:
另一个问题
在.csproject文件中将值更改为True后,当我开始构建项目时,它显示错误,但它一次只显示一个错误.比方说,我在3个视图中有5个错误.它只会给我一个错误.有没有解决方案,以便显示所有5个错误?
在我的控制器中,我想指定一个不同于默认值的视图.像这样 :
public ActionResult EditSurvey(Int32 id)
{
Survey survey = _entities.Surveys.Single(s => s.Id == id);
return View("Survey",survey);
}
Run Code Online (Sandbox Code Playgroud)
但是我没有将视图指定为字符串("Survey"),而是想直接引用它,所以如果我决定稍后更改我的视图名称,则不必手动更改此字符串.
所以我正在寻找这样的东西:
public ActionResult EditSurvey(Int32 id)
{
Survey survey = _entities.Surveys.Single(s => s.Id == id);
return View(Views.Admin.Survey,survey);
}
Run Code Online (Sandbox Code Playgroud)