2013-03-15 11 views
14

Ich erhalte die Fehlermeldung:Application.Current.Shutdown(); definiert ist, in einer Baugruppe referenziert nicht

Error 1 The type 'System.Windows.Markup.IQueryAmbient' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Wenn die folgenden Aktionen ausführen:

ist
public void ExitApplication() 
{ 
    Application.Current.Shutdown(); 
} 

Das Projekt richtete sich auf .NET 4.0, mein Visual Studio 2010, ich habe versucht,

using System.Windows.Markup; ohne Erfolg Zugabe und

using System.Xaml; wo XAML nicht exis t im Namensraum System.

Was soll ich tun, um dies zu beheben?

+0

Wenn Sie 'ExitApplication()' kommentieren, haben Sie dieses Problem nicht? – DHN

+0

Siehe [Anwendung] (http://msdn.microsoft.com/en-us/library/ms588794.aspx). Es befindet sich in PresentationFramework (in PresentationFramework.dll) C: \ Programme (x86) \ Referenz Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ PresentationFramework.dll – Romoku

+0

@DHN wahr, meine Anwendung funktioniert gut. Wenn ich die Anwendung schließe, werden Hintergrundthreads jedoch weiterhin ausgeführt, sodass sie nie wirklich geschlossen werden. Deshalb versuche ich das zu benutzen. – Joetjah

Antwort

26

Nun gut, ich denke, Ihr Problem ist gelöst, wenn Sie System.Xaml.dll als Verweis auf Ihr Projekt hinzufügen. Die Schnittstelle ist dort deklariert. Hier ist die doc.

+0

Oh, ich musste die Referenz hinzufügen. Ich dachte, das würde früher funktionieren, also habe ich mir das nicht einmal angeschaut. Vielen Dank! – Joetjah

9

System.Xaml.dll zu Projektverweisen hinzufügen.

6

Sie müssen einen reference zu System.Xaml in Ihrem Hauptanwendungsprojekt hinzufügen. Using System.Xaml muss nicht in Ihrem Code enthalten sein.

Verwandte Themen