Datei in App_Code importiert wird nicht
Q1
A) Ich habe eine neue CS-Datei erstellt, erklärte eine Klasse hinein und es dann auf meiner Platte speichern. Nach meinem Buch sollte ich nun in der Lage sein, diese Datei in den App_ Code-Ordner einer Website-Anwendung zu importieren (über Website -> Vorhandenes Element hinzufügen. Übrigens - da die Datei in den Stammordner einer Website kopiert wurde, musste ich sie verschieben in den App_Code-Ordner manuell), und die Datei wird automatisch von allen Seiten einer Website kompiliert und referenziert. Aber das ist nicht der Fall, da, wenn ich versuchen, diese Klasse in aspx Seite nutzen zu können, habe ich Zeitfehler kompilieren sagen, dass „Typ oder Namespace konnte nicht gefunden werden“
Da Autor wohl seine Sachen kennt, ist es sicher davon ausgehen, dass ich
B) etwas falsch zu machen bin Wenn Sie Klassenbibliothek aufbauen und wollen diese Komponente von einer Web-Anwendung verweisen, können Sie dies über Webseite erreichen -> Add Reference. Aber wenn Sie Klassenbibliothek erstellen, erstellt VS zwei DLLs, eine im Ordner Bin und andere innerhalb obj/debug Ordner. Ich nehme an, ich sollte Verweis auf DLL hinzufügen, die in Bin enthalten ist und nicht dll enthalten innerhalb obj/debug? Wenn ja warum?
thanx
EDIT:
Ich habe keine Informationen ausgelassen, so dass hoffentlich die folgenden Informationen werden suficcient:
Ich habe erstellt zuerst eine Datei mit dem Namen Class1.cs den folgenden Code in der Datei, und speicherte es irgendwo auf meiner Festplatte. Hier ist der Code von Class1.cs:
using System;
namespace class1
{
public class Class1
{
public static string someString = "this is Class1";
}
}
ich dann Class1.cs in App_Code Ordner meiner Website kopiert. Diese Website hat nur eine ASPX-Seite und ihren Code hinter der Datei. Wie auch immer, nach dem Kopieren Class1.cs in Ordner App_Code, versuchte ich es von einem Code hinter Datei zu verweisen:
using class1;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Class1.someString; //this won’t compile
}
}
Hallo, ich versuchte, indem es so, wie Sie vorgeschlagen, aber es hat immer noch nicht über Ihre zweite Antwort arbeiten - Frage B verwandt ist nicht ein – SourceC
in Frage Wenn die DLL in dem Ordner Ist des Ziels Projekt, ist es in der Regel, weil das Projekt einen Verweis auf die Klassenbibliothek hat. –
Ich verstehe das. Aber in Bezug auf Frage A habe ich keine DLL im Ordner Bin der Zielseite, da Class1.cs keine Klassenbibliothek ist, sondern nur eine einzige CS-Datei. – SourceC