2013-03-15 20 views
14

Dostaję błąd:Application.Current.Shutdown(); jest określona w zespole nie odwołuje

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'.

Kiedy w następujący sposób:

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

Projekt skierowany jest do .NET 4.0, mój Visual Studio jest 2010, próbowałem dodanie

using System.Windows.Markup; bez sukcesu, a

using System.Xaml; gdzie Xaml nie exis t w przestrzeni nazw System.

Co należy zrobić, aby to naprawić?

+0

Jeśli komentarz "ExitApplication()" nie masz tego problemu? – DHN

+0

Patrz [Aplikacja] (http://msdn.microsoft.com/en-us/library/ms588794.aspx). Znajduje się w PresentationFramework (w PresentationFramework.dll) C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.0 \ PresentationFramework.dll – Romoku

+0

@DHN true, moja aplikacja działa poprawnie. Ale jeśli zamknę aplikację, wątki w tle będą działały, więc nigdy się nie zamkną. Dlatego próbuję tego użyć. – Joetjah

Odpowiedz

26

No dobrze, myślę, że twój problem został rozwiązany po dodaniu System.Xaml.dll jako odniesienie do twojego projektu. Interfejs jest tam zadeklarowany. Oto doc.

+0

Och, musiałem dodać odniesienie. Myślałem, że to działa wcześniej, więc nawet na to nie spojrzałem. Dziękuję Ci! – Joetjah

9

Dodaj plik System.Xaml.dll do odwołań do projektu.

6

Musisz dodać reference do System.Xaml w swoim głównym projekcie aplikacji. Using System.Xaml nie musi być w twoim kodzie.

Powiązane problemy