Asp.net mvc 服务器上未编译asp.net mvc代码
我的一个asp.net mvc视图中有以下代码:Asp.net mvc 服务器上未编译asp.net mvc代码,asp.net-mvc,Asp.net Mvc,我的一个asp.net mvc视图中有以下代码: <%Html.RenderFile(@"C:\Members\newsletters\welcome.html");%> 当我在桌面上的visual studio中运行时,这一切都非常有效,但当我将这些文件ftp到服务器时,浏览器中出现以下错误: 编译器错误消息:CS1061:'System.Web.Mvc.HtmlHelper'不包含'RenderFile'的定义,并且找不到接受'System.Web.Mvc.HtmlHel
<%Html.RenderFile(@"C:\Members\newsletters\welcome.html");%>
当我在桌面上的visual studio中运行时,这一切都非常有效,但当我将这些文件ftp到服务器时,浏览器中出现以下错误:
编译器错误消息:CS1061:'System.Web.Mvc.HtmlHelper'不包含'RenderFile'的定义,并且找不到接受'System.Web.Mvc.HtmlHelper'类型的第一个参数的扩展方法'RenderFile'。(是否缺少using指令或程序集引用?
HtmlRenderer类位于带有我的控制器的命名空间中,因此不需要其他外部程序集引用
有人知道这是怎么发生的,或者我做错了什么吗?你需要编译项目,然后部署(xcopy或从VS发布)到服务器。谷歌搜索并找到。服务器是否有.net 3.5?尝试在本地IIS7或IIS6上发布web。(右键单击项目“发布”)。 您很有可能在“发布”过程中已经出现了更具体的错误
如果没有,请在本地IIS6或7上运行该页面,查看是否出现错误。我尝试了完全刷新(删除服务器上的所有内容并重新发布,现在一切正常。)
因此,我很高兴一切都正常,但仍然不知道为什么以前没有。是的……它不一定与扩展方法有任何特定的关系,因为我将其更改为一个单独的类和相同的问题。在ftp到服务器后,似乎找不到我的任何代码。你能更具体一点吗..在visual studio中,我点击了ild解决方案,然后将bin文件夹ftp到服务器。我是否遗漏了什么?
public static class HtmlRenderer
{
public static void RenderFile(this HtmlHelper helper_, string path_)
{
var reader = new StreamReader(path_);
var contents = reader.ReadToEnd();
helper_.ViewContext.HttpContext.Response.Write(contents);
}
}