2009-07-20 10 views
0

ich habe diesen Code in einen meiner asp.net Mvc Ansichten:asp.net MVC-Code auf dem Server nicht kompiliert bekommen

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

Ich habe eine Erweiterung auf der HTML-Klasse erstellt in einer Datei zu lesen. Der Code sieht wie folgt aus:

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

Das alles funktioniert perfekt, wenn ich in Visual Studio auf meinem Desktop laufen, aber wenn ich diese Dateien auf den Server ftp, erhalte ich die folgende Fehlermeldung im Browser:

Compiler-Fehlermeldung: CS1061: 'System.Web.Mvc.HtmlHelper' enthält keine Definition für 'RenderFile' und es konnte keine Erweiterungsmethode 'RenderFile' gefunden werden, die ein erstes Argument vom Typ 'System.Web.Mvc.HtmlHelper' akzeptiert (fehlt Ihnen eine Verwendungsrichtlinie oder eine Baugruppenreferenz?)

Der HtmlRenderer c Lass ist in einem Namespace mit meinen Controllern, so dass keine andere externe Assembly-Referenz benötigt wird.

Hat jemand eine Idee, wie das passieren könnte oder was ich falsch mache?

Antwort

0

Ich habe versucht, eine vollständige Aktualisierung zu tun (das Löschen alles auf dem Server und die Neuveröffentlichung und jetzt funktioniert alles einwandfrei ..

so dass ich glücklich bin, dass alles funktioniert, aber immer noch keine Ahnung, warum es nicht vorher war.

0

Sie müssen das Projekt kompilieren und dann bereitstellen (xcopy oder veröffentlichen von VS) auf dem Server.

+0

können Sie genauer sein .. in Visual Studio, ich Hit Build-Lösung und dann FTP den bin-Ordner auf den Server. Ich vermisse etwas? – leora

0

Google gegoogelt und gefunden something. Hat der Server .net 3.5?

+0

ja ... es hat nicht unbedingt etwas mit Extension-Methoden zu tun als ich dies in eine separate klasse und das gleiche problem geändert habe, scheint es keinen meiner code nach dem ftp auf dem server zu finden – leora

0

Versuchen Sie, das Web auf einem lokalen IIS7 oder IIS6 zu veröffentlichen (Rechtsklick auf das Projekt "Veröffentlichen"). Sie haben eine gute Chance, dass Sie bei "publish" bereits einen spezifischeren Fehler bekommen.

Wenn nicht die Seite auf Ihrem lokalen IIS6 oder 7 und sehen, ob Sie einen Fehler erhalten.

Verwandte Themen