C# Visual Studio DialogWindow的InitializeComponent()在Nunit测试中引发异常
我正在为Visual Studio开发一个扩展,它使用Microsoft.VisualStudio.PlatformUI命名空间中的DialogWindow。我的窗口看起来像这样:C# Visual Studio DialogWindow的InitializeComponent()在Nunit测试中引发异常,c#,wpf,nunit,visual-studio-extensions,visual-studio-sdk,C#,Wpf,Nunit,Visual Studio Extensions,Visual Studio Sdk,我正在为Visual Studio开发一个扩展,它使用Microsoft.VisualStudio.PlatformUI命名空间中的DialogWindow。我的窗口看起来像这样: ... using Microsoft.VisualStudio.PlatformUI namespace views { public partial class MyDialog : DialogWindow { public MyDialog() {
...
using Microsoft.VisualStudio.PlatformUI
namespace views
{
public partial class MyDialog : DialogWindow
{
public MyDialog()
{
...
InitializeComponent();
}
}
...
}
我的xaml看起来像这样:
<platformUI:DialogWindow
...
xmlns:platformUi="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"
...>
...
</platformUi:DialogWindow>
窗口是在Nunit setup方法中构造的,但只有构造窗口的第一个方法才会引发此异常。我假设对InitializeComponent()的后续调用由于任何原因都不会通过,因此后续测试仍然通过
我猜引发此异常的原因是因为DialogWindow不打算在Visual Studio的上下文之外使用,但我希望有一个解决方案,因为很难从单元测试中删除此构造。有人对我如何解决这个问题有什么想法吗
Message: System.Windows.Markup.XamlParseException : Provide value on 'System.Windows.Markup.StaticExtension' threw an exception.
----> System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
----> System.NotSupportedException : Microsoft.VisualStudio.Shell.Interop.SVsSettingsManager