XML を PDF に変換する外部アプリケーションを呼び出しています。
dynamic generator = null;
Assembly a = Assembly.LoadFrom(file);
Type type = a.GetType("Application.ConsoleStartup.Program");
generator = Activator.CreateInstance(type);
その後
generator.Run("testXML.xml");
そして、一般的にはうまくいきます。唯一の問題は、ある時点で新しく開かれたアプリケーションが STA スレッドを必要とすることです。問題は、この新しく開いたアプリケーションにアクセスできない (または非常に制限されている) ことです。これをバイパスする方法はありますか?私は実際にはスレッド化の専門家ではないことに注意してください。
エラーは次のようになります。
error DCP999: [System.InvalidOperationException] The calling thread must be STA, because many UI components require this.
at System.Windows.Input.InputManager..ctor()
at System.Windows.Input.InputManager.GetCurrentInputManagerImpl()
at System.Windows.Input.InputManager.get_Current()
at System.Windows.Input.KeyboardNavigation..ctor()
at System.Windows.FrameworkElement.FrameworkServices..ctor()
at System.Windows.FrameworkElement.EnsureFrameworkServices()
at System.Windows.FrameworkElement..ctor()
at System.Windows.Controls.Control..ctor()
at System.Windows.Controls.ContentControl..ctor()
at System.Windows.Controls.ToolTip..ctor()
at Application.Parser.Html.Model.Anchor.AfterInsert(IParseContext pc) in C:\work\Common\Main\Source\Parsers\HtmlParser\Model\Anchor.cs:line 31