問題タブ [maf]
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.
add-in - アドイン コントローラーのシャットダウン
私は自分のプロジェクトにアドイン フレームワークを使用しており、次のコードを使用してアドインをシャットダウンしています。
AddInController ac = AddInController.GetAddInController(ジョブ); ac.shutdown();
これは正常に機能し、通常のシナリオではアドインをシャットダウンしてメモリからアンロードします。アドインで記述されたコードが何らかの例外をスローした場合、上記ではアドインをシャットダウンできません。
このシナリオを処理するには、何を書く必要がありますか?
ありがとう、デニッシュ
wpf - WPF アドインのアクティブ化の最適化
WPF アドインをアクティブ化するための最適化のトリックはありますか? 現在のアドインは約 5 ~ 6 秒でアクティブになりますが、UI スレッドに読み込まれているため、UI はこの間ブロックされます。単純にプログレス バーを表示しようとしていますが、UI がブロックされているために更新されません。スレッドを開始し、2 秒待ってから Dispatcher を介して AddIn をロードする単純なハックを実装しました。この解決策は適切ですが、2 秒後にプログレス バーがフリーズします。
.net - コレクションであるMAF(System.AddIn)プロパティ
.NET4System.AddIn名前空間を使用してMAFアドインを作成しようとしています。AddInには、「ReportParameters」と呼ばれるカスタムタイプのコレクションであるプロパティがあります。AddInには、mscorlibに含まれるネイティブタイプ(つまり、int、bool、stringsなど)の他のプロパティがありますが、これらは正常に機能するため、以下のコードスニペットから省略しています。ReportParameters IListContractをIListに、またはその逆に変換するホスト側とアドイン側のアダプターで苦労しています。どんな助けでもいただければ幸いです。私のパイプラインは現在次のように定義されています(ホストアダプタのコメントを参照)。
契約集会
アドインビューアセンブリ
アドインホストアダプタアセンブリ
ホストビューアセンブリ
ホストアダプタアセンブリ
c# - コントラクトのシリアル化可能なタイプのMAF(System.Addin)プロパティ?
アドイン フレームワークとして使用する MAF アドインをテストしています。しかし、私たちは基本的な問題で立ち往生しています。シリアル化可能な型を IContract パラメーターとして使用できますか?
コントラクトとパラメーターの型の両方が同じアセンブリで定義されます。
私たちはすべてを稼働させることができます。SetCurrent を呼び出すと、例外が発生します: AppDomainUnloadedException :
プラグインのロードと実行:
プラグイン:
.net - MAF AddInController に AppDomain プロパティが null あります
私はMAFを初めて使用するので、私の質問はばかげているかもしれませんが、アドインのアクティブ化に関するドキュメントを読んでも問題は明確になりません。
私は次のコードを持っています:
しかし、プロパティが であるため、controller.AppDomain.UnhandledException
スローします。それは予想される動作ですか?もしそうなら、アドイン内で例外を管理する方法、または私は何か間違っていますか?NullReferenceException
AppDomain
null
c# - イベント駆動型アーキテクチャを備えたC#マネージドアドインフレームワーク
.NET 3.5マネージドアドインフレームワークでイベント駆動型アーキテクチャを使用する方法はありますか?
私が見ることができることから、MAFは、ホストとプラグイン間の情報交換のために、厳密に定義されたデータパイプラインを使用した直接の事前定義された関数呼び出しのみを許可します。(ホスト側とプラグイン側の両方から)イベント駆動型アーキテクチャを可能にしながら、アプリケーションでホットスワップ可能なプラグインを可能にするフレームワークを探しています。
MAFがこれを実行できない場合、実行できるフレームワークはありますか?
c# - MAFを使用してアセンブリをロードする適切な方法
Managed Add-In Framework(MAF)を使用したプラグインベースのアーキテクチャを備えたプログラムがあります。アドインアセンブリを独自のプロセスで実行する方法でロードしようとしています。ロードする他のアセンブリを探す場所を指定できます。以下は、私が試した2つの異なる方法と、それらが100%機能しない理由です。
このメソッドを使用すると、各アドインに新しいアプリドメインで実行するように指示でき、追加のアセンブリを探す場所を指定できます。各アドインは独自のサブディレクトリにあり、他のアセンブリをロードするには、ホストと同じディレクトリを検索する必要があるため、これは重要です。このメソッドの問題は、アドインに未処理の例外がある場合、同じプロセスで実行されているためにホストがクラッシュすることです。
このメソッドは、各アドインを独自のプロセスにロードするため、個々のアドインがクラッシュしても、ホストには影響しません。これに伴う問題は、追加のアセンブリを探す場所をアドインに指示できるかどうかがわからないことです。ホストのディレクトリではなく、自分のディレクトリのみを検索します。
私が探していることを達成するためにMAFを使用する最良の方法は何ですか?アドインを作成していないため、アドインをロードできるようにする必要があります。これは、アドインをホストから分離するための方法です。私は彼らのコードを制御できないので、彼らがホストをクラッシュさせないことを確認する必要があります。また、アドインは独自のサブディレクトリにあり、ホストディレクトリからアセンブリをロードする必要があるため、アドインがアセンブリをロードする場所を指定できる必要があります。また、可能であればGACを使用しないことをお勧めします。
c# - プラグイン アーキテクチャ .net maf または mef
私は現在、ゲーム プラットフォーム アプリケーションで働いています。新しいゲームを簡単に追加できるようにしたいのですが、ゲームは特定の契約に準拠する必要があります。
- ゲームにはいくつかの必要なメソッドが必要です
- メインプログラムによって提供されるいくつかのイベントを受け取る必要があります
- 一部のデータをプログラムに送り返すことができなければなりません
- インターフェースの知識があるだけで、外部の開発者がそのプラットフォーム向けのゲームを簡単に作ることができれば素晴らしいことです
MEF vs MAFのような質問をいくつか読みましたが、最初はMAF の方が自分には適していると思いますが、それはよくわかりません。さらに、ゲームを DLL としてコンパイルし、実行時にそれらを取得するような自家製のシステムを作成することもできると思います。
MAF は分離されているため良さそうに見えますが、私は実際にはほとんどアドインを使用していないため、読んでみると MAF は重くて速度が不足しているため、何を使用すればよいかについて多くの疑問を抱いています。
遅くて開発が難しい場合でも、MAF を試す必要がありますか?
plugins - MarshalByRefObject でラップして参照をリモート化しますか? それはうまくいきますか?
MAF を使用してプラグイン システムを実装しようとしています。私が現在渡したいオブジェクトはシリアライズ可能ではありません。シリアライズ可能にできると確信していても、非常にパフォーマンスが高いとは思いません。
2 つの質問:
1) MAF が実際の参照を渡すために、オブジェクトは単に MarshalByRefObject から継承する必要がありますか、それともそれ以上のものがありますか?
2) MarshalByRefObject から継承するオブジェクトでクラスをラップして、参照を取得できますか?
編集:明らかに、問題自体はMAFとはほとんど関係がありませんが、誰かが私を完全な方向に向けることができる場合に備えて、いくつかのコンテキストを含めたかっただけです.