Application.Current.Shutdown(); is defined in an a

2020-08-10 09:43发布

问题:

I'm getting the error:

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

When doing the following:

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

The project is targeted to .NET 4.0, my Visual Studio is 2010, I tried adding

using System.Windows.Markup; with no succes, and

using System.Xaml; where Xaml doesn't exist in namespace System.

What should I do to fix this?

回答1:

Well ok, I guess your issue is solved when you add System.Xaml.dll as reference to your project. The interface is declared there. Here is the doc.



回答2:

Add System.Xaml.dll to project references.



回答3:

You need to add a reference to System.Xaml in your main application project. Using System.Xaml is not needed to be in your code.