問題タブ [baml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF なしでアセンブリに BAML を埋め込む
コンパイル済みの XAML を BAML2006 としてアセンブリに埋め込みたいと考えています。
埋め込みリソースの MSBuild アクションが選択されている場合、XAML ファイルは、他のルース XAML リソースと同様に読み取ることができるテキスト リソースとしてアセンブリに埋め込まれます。ただし、ルース XAML には、参照される名前空間に関して重大な制限がいくつかあります。最も厄介なことに、ルース XAML が解析される前に、それによって参照される名前空間を[XmlnsDefinitionAttribute]にロードする必要があります。AppDomain対照的に、埋め込まれた BAML は、名前空間を含むアセンブリが参照アセンブリのリストに追加され、AppDomainコードの実行が開始される前に によって自動的に読み込まれるため、この問題に悩まされることはありません。
Page MSBuild タスクが選択されている場合、XAML は BAML2006 に "コンパイル" され.resources.g、含まれているアセンブリの に埋め込まれます。WindowsBaseただし、、PresentationCodeおよびPresentationFrameworkアセンブリが参照されていない場合、コンパイルは失敗します。XAML を使用するが WPF を使用しないプロジェクトに取り組んでいるため (XamlObjectWriterカスタム マークアップ拡張機能を使用してオブジェクト グラフを読み込みますが、IntelliSense サポートのために XAML エディター インフラストラクチャの一部を Visual Studio を再利用します)、これらのライブラリに依存することは避けたいと思います。
WPF に依存せずに、MSBuild に BAML を埋め込み、必要なアセンブリ参照を追加する方法はありますか?
Workflow Foundation も同様のアプローチを使用していると思いますが、情報を見つけることができませんでした。