Warum nicht meine Html-Helfer haben intellisense?
Kann ich nicht bekommen, intellisense für meine eigenen html helpers. Meine CustomHtmlHelpers.cs
sieht wie folgt aus:
using System.Web.Mvc;
using System.Text;
using System.Web;
namespace laget.Web.Helpers
{
public static class CustomHtmlHelpers
{
//MY HELPERS
}
}
und in meinem Web.config:
<pages>
<namespaces>
<add namespace="laget.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages"/>
<add namespace="System.Web.Helpers" />
</namespaces>
</pages>
Wenn ich <@using laget.Web.Helpers>
aus meiner Sicht, bekomme ich die intellisense-Problem behoben.
Sollte es nicht genug sein mit dem code im Web.config?
InformationsquelleAutor MikeB | 2011-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Manchmal scheint es nicht auf Anhieb klappt. Schließen Sie das .cshtml-Datei und re-zu öffnen. Dann, wenn das nicht funktioniert, versuchen Sie einen Neustart von Visual Studio. Auch stellen Sie sicher, dass Sie tatsächlich kompiliert dein Projekt, intellisense funktioniert nicht mit nicht-kompilierten Helfer.
Vielen Dank an Euch! Ich hab zumindest verbrachte eine Stunde auf, dass man von heute 🙂
Ja hab ich verbrachte einige Zeit auf diese zu, zum Glück ist die ultimative Frage "Haben Sie versucht, es auszuschalten und wieder auf" immer " pops in meinem Kopf, wenn etwas kaputt gegangen ist 🙂
Auch stellen Sie sicher, dass es die richtige Website.config, nur für mich funktioniert, wenn ich den Namespace in der web.config im Ordner anzeigen. Auch Sie können vermeiden, die kompletten Neustart durch entladen und Neuladen des Projekts.
Ich bin mit Visual Studio 2013 Update 1, und es geschieht auch. Neustart VS2013 machen, funktioniert es wieder.
InformationsquelleAutor Lukáš Novotný
Ich bin mir ziemlich sicher, dass Sie nicht die Bearbeitung der richtigen
Web.config
Datei.Müssen Sie den namespace, der in Ihrem
Views
Verzeichnis.entladen und laden Sie das Projekt erneut.
InformationsquelleAutor Bertrand Marron
Braucht man eigentlich nicht zu Visual Studio neu starten in den meisten Fällen. Alles, was Sie tun müssen, ist, schließen Sie die .cshtml-Datei und öffnen Sie es erneut!
InformationsquelleAutor Alexandros B
Er braucht es auf der lokalen Seite. Ich bin mir ziemlich sicher, dass dies hat zu tun mit der Namespace-Auflösung. Es ist nicht genau sicher, was du meinst, ohne dass der lokale using-Anweisung.
InformationsquelleAutor msarchet
Lief ich in diese auch heute noch. Manchmal schliessen die Razor-Ansicht-Fenster in Visual Studio und re-opening wird es den trick tun, ohne zu tun, eine vollständige Visual Studio neu starten.
InformationsquelleAutor Ryan Tofteland
Habe ich versucht, ein Problem zu lösen, wie dies gestern. Ich hatte e vor-kompilierte dll (Projektname ie: MyHtmlHelpers), die Helfer und viele andere Klassen.
Hatte ich die Montage auf die in der web-Projekt und die alle "standard"-Helfer zeigte sich in der intellisense-aber, obwohl ich habe den namespace für das Internet.config in der root und in den views-Ordner nichts funktionierte. Beim ausführen der Projekt-Helfer funktioniert, allerdings nicht in intellisense.
Ich habe eine neue Klasse und eine neue geschrieben, die html-Hilfe im web-Projekt, fügte der namespace web.config. Und das hat geklappt.
Nach einigen Stunden habe versucht, meine Letzte Karte, hinzufügen der MyHtmlHelpers-Projekt auf die gleiche Lösung wie mein Webprojekt. Das war der trick. Ich diden nichts ändern in den configs soeben das Projekt auf die gleiche Lösung und verändert die Referenz auf das Projekt statt der kompilierten dll.
Isen das nicht seltsam? Ein VS-bug?
InformationsquelleAutor Markus Knappen Johansson
Fand ich, dass ich das hinzufügen der Referenz auf die falsche web.config. Es ist nicht die Haupt-config, aber das web.config in der Ansichten-Verzeichnis...
InformationsquelleAutor user603714
So, jetzt werde ich Ihnen zeigen, die Schritte, die
1.Erstellen oder öffnen Sie eine vorhandene Klasse Bibliothek-Projekt (wenn Sie öffnen eine vorhandene entfernen Sie die MVC5 nuget-Paket)
2.Hinzufügen von MVC (5.0) nuget-Paket - (
Recht-klicken Sie im Projektmappen-explorer -> " NuGet-Pakete Verwalten -> Suche für MVC und installieren Sie das "Microsoft ASP.NET MVC")
3.Schließen Sie alle und alles offen .cshtml-Dateien
4.Rechts klicken Sie auf " Projekt -> Eigenschaften -> Erstellen -> ändern Ausgabepfad für Ihr Projekt "bin/"
5.Fügen Sie den folgenden minimalen Web.config der root-Klasse-Bibliothek-Projekt
( die web-config-Datei ist lediglich erforderlich, für intellisense. Konfiguration (via Web.config)
sollte in der WebApplication hosting ClassLibrary Montage)
6.Sauber und Bauen die Lösung.
7.Öffnen cshtml-Datei und versuchen Sie es jetzt 🙂
InformationsquelleAutor Jaber Adnan
Fand ich, dass, wenn es immer noch nicht funktioniert, müssen Sie möglicherweise zu gehen, um die Eigenschaften des benutzerdefinierten Klasse, und ändern Sie die build-Aktion von "Inhalt" auf "compile". Dass es behoben für mich.
InformationsquelleAutor Josh.Oman