InitializeComponent () для Visual Studio DialogWindow вызывает исключение в тесте Nunit - PullRequest
0 голосов
/ 09 октября 2018

Я разрабатываю расширение для Visual Studio, которое использует DialogWindow из пространства имен Microsoft.VisualStudio.PlatformUI.Мое окно выглядит примерно так:

...
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,Это исключение выдается после вызова InitializeComponent ():

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

Окно создается в методе установки Nunit, но только первый метод для создания окна вызывает это исключение.Я предполагаю, что последующие вызовы InitializeComponent () не проходят по какой-либо причине, поэтому последующий тест все еще проходит.

Я предполагаю, что причина, по которой вызывается это исключение, заключается в том, что DialogWindow не предназначено для использованиявне контекста Visual Studio, но я надеюсь, что есть решение, так как было бы трудно удалить эту конструкцию из модульного теста.У кого-нибудь есть идеи как можно это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...