3 Stimmen

Fehler beim Kompilieren von Webanwendungen - ASP.NET-Referenz

Meine aktuelle Web-App funktioniert gut lokal und auf Live, was ich bin derzeit spielen mit ist kompilieren meine Web-App mit der Visual Studio-Option "Add Web Deployment Project", so dass alle den Code hinter in DLLs kompiliert wird.

Es gibt einen bestimmten Build-Fehler, den ich nicht loswerden kann

Fehler 50 Der Typ- oder Namespace-Name 'usercontrols_calendarcell_ascx' existiert nicht im Namespace 'ASP' (fehlt eine Assembly-Referenz?) c: \page.ascx.cs 30 1 test_deploy

Und die eigentliche Codezeile lautet wie folgt:

protected ASP.usercontrols_calendarcell_ascx[] calendarCells;

4voto

Damian Vogel Punkte 970

Das Problem ergibt sich aus der Tatsache, dass der Namensraum ASP ein "Pseudo"-Namensraum ist, der beim Kompilieren nicht referenziert werden kann.

Die Lösung, die ich fand, bestand darin, den aktuellen Namensraum in die Definition des Benutzerkontrollfelds zu integrieren. Ich habe die Namen der Elemente an Ihre Namenskonventionen angepasst, aber ich weiß nichts über den von Ihnen verwendeten Namensraum. Deshalb habe ich ihn einfach 'Project.NameSpace' genannt.

  1. In der Datei calendarcell.ascx:

    <%@ Control Language="C#" AutoEventWireup="true" Codefile="calendarcell.ascx.cs" Inherits="Project.NameSpace.usercontrols_calendarcell" %>

  2. In der Datei calendarcell.ascx.cs:

    Namensraum Projekt.NameSpace
    {
    public partial class usercontrols_calendarcell : System.Web.UI.UserControl
    {

  3. In der Datei page.ascx.cs:

    mit Project.NameSpace;

Ich hoffe, das hilft. In meinem Fall hat es den Trick perfekt gemacht.

1voto

Andelkos Punkte 11

Sie können Control-Eigenschaften, die auf der Seite verwendet werden, einer Schnittstelle (z.B. ICalendarCell) zuordnen und diese in App_Code platzieren. Implementieren Sie die Schnittstelle für Ihr Steuerelement und verwenden Sie stattdessen die Schnittstelle in der .cs-Datei.

0voto

Sergio Punkte 7951

Ich rate hier nur, aber es sieht so aus, als ob Ihr Kalendercell-Benutzersteuerelement nicht richtig kompiliert wird.

In diesem Fall verwendet Ihr Bereitstellungsprojekt wahrscheinlich eine alte DLL, die diese Klasse nicht enthält.

Versuchen Sie, Ihr Projekt zu kompilieren, und wenn Sie dies ohne Fehler tun können, kompilieren Sie das Bereitstellungsprojekt.

0voto

OJ. Punkte 28189

Sie müssen sicherstellen, dass Sie page.ascx.designer.cs ebenfalls kompilieren.

0voto

Cyril Gupta Punkte 13086

Haben Sie sie in der aspx-Seite korrekt referenziert?

Ich meine diesen Teil

(Es sollte ein ähnlicher Tag in Ihrer aspx-Seite vorhanden sein, und der SRC sollte sich darauf beziehen, wo sich das Kalendersteuerelement befindet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X