Jak poprawnie zapisać WF4 ActivityBuilder

Obecnie zapisuję moją aktywność .NET FX 4.0.1 StateMachine w następujący sposób:

var sb = new StringBuilder();
var xamlWriter = ActivityXamlServices.CreateBuilderWriter(
                     new XamlXmlWriter(new StringWriter(sb),
                     new XamlSchemaContext()));
XamlServices.Save(xamlWriter, activityBuilder);

return sb.ToString();

Działa to dobrze, a wygenerowany XAML wygląda dobrze. Niestety jest nieprawidłowy. Mogę to przeczytać w użyciuActivityXamlServices.Load ale gdy go wykonam, mówi, że nie zna właściwości zdefiniowanych w przepływie pracy. Otwarcie go w projektancie Visual Studio daje te same błędy:

Błąd kompilatora napotkał wyrażenie przetwarzania „ActiveCall”. „ActiveCall” nie jest zadeklarowany. Może być niedostępny z powodu poziomu ochrony.

Porównując oryginalny XAML z XAML wyprodukowanym przez mój kod, odkryłem, jak rozwiązać ten problem. Muszę mieć ten tag przedStateMachine etykietka:

<mva:VisualBasic.Settings>
    Assembly references and imported namespaces for internal implementation
</mva:VisualBasic.Settings>

Tak poza tym:
Tekst wewnątrz znacznika musi być dokładnie taki, w przeciwnym razie wystąpi błąd podczas otwierania WF w VS:

Nie udało się utworzyć „Ustawień” z tekstu „FooBar”

Pytanie:
Co muszę zmienić w moim kodzie, aby mieć ten tag w wygenerowanym XAML?

questionAnswers(1)

yourAnswerToTheQuestion