2009-07-20 64 views
0

我有這樣的代碼在我的asp.net mvc的觀點之一:asp.net mvc的代碼沒有得到編譯服務器上

<%Html.RenderFile(@"C:\Members\newsletters\welcome.html");%> 

我已經創建的HTML類擴展的文件中讀取。代碼如下所示:

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); 
    } 
} 

這一切都完美的作品,當我在Visual Studio我的桌面上運行,但是當我這些文件的FTP服務器,我得到在瀏覽器中出現以下錯誤:

編譯器錯誤消息:CS1061:'System.Web.Mvc.HtmlHelper'不包含'RenderFile'的定義,並且沒有找到接受'System.Web.Mvc.HtmlHelper'類型的第一個參數的擴展方法'RenderFile'(您是否缺少使用指令或裝配參考?)

HtmlRenderer c lass與我的控制器位於命名空間中,因此不需要其他外部程序集引用。

有沒有人有任何想法如何發生這種事情或我做錯了什麼?

回答

0

我試着做一個完全刷新(刪除服務器上的所有內容並重新發布,現在一切工作正常..

,所以我很高興一切工作,但仍然不知道爲什麼之前沒有。

0

您需要編譯該項目,然後部署(xcopy或從VS發佈)到服務器。

+0

你可以更具體一些...在visual studio中,我點擊編譯解決方案,然後把bin文件夾下載到服務器上我缺少什麼東西嗎 – leora 2009-07-20 14:01:45

0

谷歌搜索和發現something。服務器是否有.net 3.5?

+0

是的......它並不一定有任何特定的擴展方法當我將其更改爲單獨的類和相同的問題時,似乎無法在我ftp到服務器後找到我的任何代碼 – leora 2009-07-20 14:01:04

0

嘗試在本地IIS7或IIS6上發佈Web(右鍵單擊項目「發佈」)。 您很有可能在「發佈」期間獲得更具體的錯誤。

如果未在本地IIS6或7上運行該頁面並查看是否出現錯誤。

相關問題