2017-01-26 1 views
2

Mein Web-Anwendungsprojekt baut und läuft gut. Während der Erstellung sind keine Referenz- oder Typ-Fehler definiert. Wenn ich versuche, ein Web-Formular zu laden, die PresentationCore.dll verwendet Bitmap zu verwenden, jedoch bekomme ich Type 'BitmapImage' is not defined.Warum wird meine Webanwendung kompiliert, aber der Typ 'BitmapImage' ist nicht definiert. Fehler beim Debuggen?

Dinge, die ich getan habe:

  • inklusive Imports System.Windows.Media.Imaging an der Spitze meiner Code-Behind-Datei
  • Gereinigt und bauen das Projekt und Lösung
  • entfernt und wieder hinzugefügt, um den Verweis auf PresentationCore.dll
  • bestätigt, dass Intellisense auf den Namen BitmapImage in meinem Code funktioniert es als Mitglied zu identifizieren von System.Windows.Media.Imaging
  • bestätigt, dass es keine Instanzen des Textes ist Type 'BitmapImage' is not defined. im Internet veröffentlichten bereits
  • der Korb gelöscht und obj Ordner vollständig
  • hinzugefügt PresentationCore als importierte Namespace (so Import oder using-Anweisungen sind nicht erforderlich)
  • fügte auch einen Verweis auf Windows
  • den Namen Gebrauchte System.Windows.Media.Imaging.BitmapImage statt nur BitmapImage
  • Re-Installation von Visual Studio 2015 Gemeinschafts
  • Verschoben all meine Codes in einen neuen webanwendungsprojekt Laufe Rahmen 4.5.2

Hier sind die Ausnahmen, die während der Laufzeit geworfen werden:

  • System.Web.HttpParseException Fehler BC30002: Typ 'BitmapImage' ist nicht definiert.
  • System.Web.HttpCompileException Fehler BC30002: Typ 'BitmapImage' ist nicht definiert.

Sollten diese Ausnahmen mich nicht vom Kompilieren abhalten? Warum funktioniert meine Referenz auf PresentationCore.dll nicht während des Debuggens zur Laufzeit, wenn das Projekt erstellt und ausgeführt wird?

Update: Ich wurde gebeten, Code zu teilen.

TestBitmapImage.aspx Inhalt:

<%@ Page Language="vb" Src="TestBitmapImage.aspx.vb" Inherits="PortalVB.TestBitmapImage" %>

TestBitmapImage.aspx.vb Inhalt:

Imports System.Windows.Media.Imaging 

Public Class TestBitmapImage 
    Inherits System.Web.UI.Page 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim b As New BitmapImage() 
    End Sub 

End Class 
+0

@MickyD thanks & done – rg89

+0

Haben Sie überprüft, welche .net/asp.net Version Sie verwenden und welche Version von 'PresentationCore.dll' reference möchten Sie hinzufügen? Stellen Sie sicher, dass das Zielnetzwerk von Asp.net nicht niedriger ist als das von 'PresentationCore.dll'. –

Antwort

0

Es ist etwas seltsam über das Projekt-Namespace in dieser Linie zusammen mit der Verwendung von Src einschließlich und CodeBehind:

<%@ Page Language="vb" Src="TestBitmapImage.aspx.vb" Inherits="TestBitmapImage" %>

<%@ Page Language="vb" CodeBehind="TestBitmapImage.aspx.vb" Inherits="PortalVB.TestBitmapImage" %>

Ich verstehe es nicht, aber wh de Ich verwende Webformulare, um die Ziele von AJAX-Anrufen zu erstellen. Ich muss den Standard (zweite Zeile) ändern, um die erste nachzuahmen.

0

Noch ein paar Dinge zu versuchen, sind

  • Klar die asp .net temporäre Dateien Ordner.

  • Geben Sie für widersprüchliche Assemblys im GAC

Verwandte Themen