C # asp.net - Der Typ oder Namespace-Name ‚Helfer‘ konnte nicht gefunden werden (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis?)

StackOverflow https://stackoverflow.com/questions/3416487

  •  26-09-2019
  •  | 
  •  

Frage

Ich bin Nacharbeiten von jemand anderem Code, wo sie mit viel zu viel Code eine Hilfsklasse hatte, die nicht da sein sollte (Datenzugriff, Geschäftslogik, hatte alles langsam in dort geschoben worden ist).

Ich habe den entsprechenden Code in die entsprechenden bereits bestehenden Klassen bewegte und eine separate, brandneue Hilfsklasse im entsprechenden Projekt erstellt, aber alle meine Referenzen zu dieser Klasse tut einfach nicht funktionieren.

Hier ist eine einfache Ansicht, wie meine Klasse aussieht (Name leicht verändert);

namespace Company.Web.Application.Reporting 

{
    public class ReportHelper
    {
    here I have a bunch of methods
    }
}

und hier ist, wie es ist, Bezug genommen wird;

using Company.Web.Application.Reporting;

namespace Company.Web.Application.App.Reports
{
    public partial class PlansReports : PageBase
    {
        //This is the problem part
        private ReportHelper Helper = new ReportHelper(); 
        heaps of other code with no problems here...
    }
}

Mein Problem ist, dass die ich die folgende Fehlermeldung erhalten, überall, dass ich versuche, meine neue Helfer zugreifen zu können.

  

Der Typ oder Namespace-Name   ‚ReportHelper‘ konnte nicht gefunden werden (sind   Sie fehlt eine using-Direktive oder ein   Referenz Montage?)

Alle meine Verwendung von Aussagen gibt es, ich habe die entsprechenden Referenzen in jedem relevanten Projekt, doch ist diese noch weiter besteht. An diesem Punkt ist total stecken bin, ich brauche nur diese Referenzierung Problem aussortiert zu bekommen, damit ich alle meine Helfer sicherstellen kann Methoden korrekt funktionieren.

Jede Hilfe sehr geschätzt wird,

Pat.

War es hilfreich?

Lösung

OK, fand ich das Problem (eigentlich ein Kollege tat)

Diese ursprüngliche Helper-Klasse wurde im Ordner App_Code meiner Hauptprojekt enthalten, die, wie ich gerade gelernt haben, Griffe in einem Projekt unterschiedlich auf alle anderen Ordner zu kompilieren. Code hier wird zur Laufzeit kompiliert, anstatt während des Baus. Wenn ich meine neue Klassen geschaffen, waren sie im Ordner App_Code, weil ich Code Rush verwendet, um die Klasse in eine neue Datei zu extrahieren, die es in der gleichen Position gehalten ... nach dem ich auf ihren „sensible“ Ort bewegte sie. Leider hatten sie noch die Build-Aktion von „Content“ von ihrem bisherigen Präsenz im app_code Ordner geerbt. Also, auf die neue Klasse Datei, habe ich einfach seine Build-Aktion auf „Compile“ geändert und jetzt ist alles gut mit der Welt.

Cheers,

Pat.

Andere Tipps

Ist Ihre ReportHelper in einem separaten Projekt oder DLL? Wenn ja hinzugefügt haben Sie dieses Projekt / DLL als Referenz? (In Ihrer Lösung Explorer unter Referenzen, überprüfen Sie Ihr Projekt / dll ist da.

Haben Sie gebaut Company.Web.Application.Reporting so dass der Typ bekannt sein würde? Das wäre meine Idee, zusammen mit der Sicherstellung, dass die Abhängigkeiten richtig eingerichtet sind.

Es klingt wie Sie wissen, was Sie tun, und alles, was gut aussieht, so ist es etwas einfacher sein. Versuchen Sie, den Zugriff auf Änderungen in ReportHelper, die nicht in die DLL kompiliert wurden? Ich würde versuchen, die Referenz Wiederaufbau Montage; jedes Mal, wenn Sie Änderungen an der Montage, muss es neu aufgebaut werden.

Überprüfen Sie auch, den Sie hinzufügen, die korrekte Montage (z Debug vs. Release) zu Ihrem Projekt. Es spielt keine Rolle, welche Art, aber Sie wollen nicht Kompilierung neue Änderungen in den Debug-DLL, und halten Sie die alte Version des Release-DLL hinzufügen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top