Frage

Ich versuche, eine Steuer Bibliothek in einer DLL für andere Entwickler im Büro zu exportieren zu konsumieren.

Die Lösung, die ich ursprünglich erstellt wurde, sieht wie folgt aus:

Lösung 1:
 - Mri.Controls (Class Library)
 - Mri.FmTool (Web Application)

Mri.FmTool Referenzen Mri.Controls.

Innerhalb Mri.Controls, ich habe einige Javascript WebResources. Mri.FmTool scheint die WebResources einfach gut zu lesen, all mein Javascript Web resouces erscheinen, wie sie sollten, wenn Mri.FmTool Web-App ausgeführt wird.

So, jetzt habe ich versucht, eine einfache Lösung zu schaffen Mri.FmTool verbrauchen

Lösung 2:
 - Mri.ConsumerTest (Web Application)

Ich habe die letzte Mri.Controls.dll und fügte hinzu, es als Hinweis auf Mri.ConsumerTest Anwendung. Alle Bedienelemente von Mri.Controls scheinen innerhalb Mri.ConsumerTest zu arbeiten. Intellisense funktioniert, es kompiliert, keine Probleme.

Wenn es jedoch ausgeführt wird, die meisten der WebResource.axd Dateien sind leer, nur leer. Eine WebResource.axd Datei nicht leer ist, es einfach sagt: „Diese Ressource kann nicht gefunden werden.“

Hier sind die Eigenschaften der Javascript-Dateien im Fenster Eigenschaften:
Bauen Sie Aktion: "Embedded Resource"
Kopieren Sie auf Ausgabeverzeichnis: "Copy immer"

Was für Schritt bin ich fehlt?

War es hilfreich?

Lösung 3

Ich habe bemerkt, dass meine WebResource CSS-Dateien ordnungsgemäß geladen wurden, aber Javascript wurde nicht in der neuen Lösung in WebResource geladen werden.

Also, anstatt die System.Web.UI. ClientScriptManager verwendet, um das WebResources zu registrieren, ich umschaltbereit mit System.Web.UI. Scriptmanager . Nun werden die Dateien kommen aus ScriptManager.axd (anstelle von WebResource.axd ). Dies schien das Problem zu beheben.

Alt-Code vor Fix:

public class ScriptManagerExtension : System.Web.UI.ScriptManager
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        Page.ClientScript.RegisterClientScriptResource(this, typeof(ScriptManagerExtension), "Mri.Controls.Resources.Scripts.Libraries.jQuery.js");
    }
}

Der obige Codeabschnitt verwendet System.Web.UI.ClientScriptManager

Neuer Code nach Fix:

public class ScriptManagerExtension : System.Web.UI.ScriptManager
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        RegisterClientScriptResource(this, typeof(ScriptManagerExtension), "Mri.Controls.Resources.Scripts.Libraries.jQuery.js");
    }
}

Der obige Codeabschnitt verwendet System.Web.UI.ScriptManager

Von meinem Verständnis, ClientScriptManager wurde in 2.0 eingeführt. Ich glaube, Script ist die neue, verbesserte 3.5 Art und Weise Skripte für die Verwaltung, die viel mehr Funktionen hat.

/ Achselzucken

Andere Tipps

Sie fehlen wahrscheinlich die [assembly: WebResource ( "YourNameSpace.YourFile.js", "text / javascript")] Attribut. WebResource.axd muss dieses Attribut. Sie können überprüfen, diese KB Artikel für weitere Informationen über die Angelegenheit.

gesetzt, um die Ressourcen Teil der DLL sein?

Öffnen Sie die Lösung Mri.Controls & sehen Sie die Eigenschaften Ihrer Javascript-Ressource-Dateien.
Ich denke, das ist, wo das Problem sein könnte.

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