問題タブ [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.
.net - カスタム AppDomain で MAF アドインをアクティブ化する際の問題
クライアント アプリケーションによって作成されたアプリケーション ドメインを渡すことができるように、AddInToken.Activate()
を受け入れるMAF のメソッドのオーバーロードを使用しようとしています。AppDomain
渡されたAppDomain
が無制限のアクセス許可で構成されている場合は正常に動作しますが、(たとえば、インターネット サンドボックスのアクセス許可セットを使用して) アクセス許可セットを減らすと、MAF はSecurityException
アドインの検出に必要なリフレクションを実行するときに をスローします。MAF アセンブリは GAC にインストールされているため、完全に信頼されるべきではありませんか?
MAF が他のメソッド オーバーロードを提供して、AppDomain
for me を作成し、それに割り当てられたアクセス許可セットを指定できるようにすることは知っていますが、自分のアプリでこのアプローチを使用することはできません。完全な信頼が与えられる厳密な名前のアセンブリ。
助言がありますか?
ありがとう、
ティム
wpf - WPF MAF (System.Addin) コントロール内の Telerik レポート
MAF (System.Addin) を使用して、WPF コントロールを共有メイン フォームに表示しています。telerik reportviewer を追加すると、コントロールを所有するスレッドとは別のスレッドにアクセスしようとしているという例外が発生します。例外スタックを調べると、Application.Mainwindow への参照が表示されますが、私はアドインにいるため、アプリケーションのメインウィンドウは私のドメインに属していません。
Addin オブジェクト内に Application.Mainwindow を設定する方法はありますか?
c# - C# .NET 4.0 フォーム プラグイン マネージャー
MEF、MAF、Unityでちょっと迷ってます…
この質問は、Winform アプリケーションのアーキテクチャに関するものです。
メイン フォームとその他のフォームを含むメイン プロジェクトがあります。
モジュール性を盛り込みたいので、プラグインシステムの利用を考えています。
私がやりたいことは、メインアプリケーションが開いているときに各プラグインDLLを開いて、ボタン、ツールバーでそれぞれを参照することです...
それでは呼ばれるまで処分したいと思います。
しかし、私はすべてのプラグインをメモリに保持したくありません..良いアーキテクチャモデルを取得するためだけに.
まず .NET について: dotNetはメモリ内の dll プラグインへの参照のみを保持するのか、それともすべてのプラグイン コードを保持するのか?
LAZY
Import のコレクションでMEF を使用することを考えていますが、ボタン情報を取得するために最初にそれらをインスタンス化する必要があります。では、2つ目の質問
Import Collection を に設定して()null
関数を再度起動すると、プラグインがロードされるか、ロードされるまで待機します (遅延) ?compose
.net - IoC とマネージ アドイン フレームワーク (System.AddIn) は、分離された AppDomains と連携できますか?
マネージド アドイン フレームワーク (System.AddIn) を使用し、別の AppDomain を使用するように設定した場合、プライマリ/既定の AppDomain にある集中型 IoC コンテナーを使用できますか? AppDomain 間で IoC コンテナーを解決できますか?
.net - .NET アドイン フレームワーク、フォルダー (.svn) を無視
AddIn Framework (MAF) の AddInStore が特定のディレクトリを無視するようにすることは可能ですか?
私の場合、アドイン ストアは subversion によってバージョン管理されていますが、パイプラインが再構築されると、アドインの ".svn" フォルダーに有効なアドインが含まれていないというエラーが表示されます。
ディレクトリ [..]\AddIns\.svn に有効なアドインが見つかりませんでした。
.net - Microsoft AddIn Framework を使用する場合、アドインの参照アセンブリを整理する方法
これが私のシナリオです:
優れたプラグイン アーキテクチャを実現するために、プロジェクトに Microsoft AddIn Framework を使用しています。また、dll にコンパイルして作成したカスタム API もあります。ホスト アプリケーションとすべてのアドインは、この API を参照する必要があります。明らかに、このフレームワークを使用する場合、すべてのアドインは AddIns ディレクトリ内の独自のディレクトリにある必要があります。
これまでの経験から、個々のアドインが参照するアセンブリは、個々のアドインのディレクトリに配置する必要があります。そうしないと、アセンブリが見つからず、例外が発生します。私の場合、すべてのアドインが API を参照するため、そのディレクトリにその dll が必要です。これは、不要と思われる API dll のコピーがたくさんあることを意味します。ホストとすべてのアドインがそれらを見つけることができる、必要なアセンブリ (アプリケーション ルートの lib フォルダーなど) を配置できる場所が 1 つだけあればよいと思います。これは可能ですか?アドインを別の方法でロードすると (appdomain?)、ホスト アプリ ディレクトリを参照できるようになる可能性があります。私はMAFに比較的慣れていないので、この組織のやり方についてのアドバイスは役に立ちます.
c# - WCFサービス内で.Netアセンブリを動的にロードおよびアンロードするにはどうすればよいですか?
タスク実行管理およびレポートサービスとして動作するWindowsサービスでホストされるwcfWebサービスを開発したいと思います。各タスクは.netアセンブリとして表され、タスク名とdllパスは中央構成になります。タスクには、少なくともExecuteメソッドとStopメソッドが主に含まれます。wcfサービスの実行中および他のタスクの実行中に、タスクのロード、実行、停止、およびアンロードが可能である必要があります。各タスクの1つのインスタンスを同時に実行できます。例外がある1つのタスクは、他のタスクを中止してはなりません。私は次のような方法を考えています
このロードとアンロードのタスクをオンデマンドで実行し、分離する方法を考えています。一部のオプションでは、Reflection、MAF(System.Addin)などを使用します。このロード/アンロードは非常にまれにしか発生しないため、ロードに対する初期のパフォーマンスヒットは許容範囲内です。
この目標を達成するための最良の方法(ライブラリ、API、フレームワークなど)は何ですか。
c# - 各 MAF アドインの UI スレッド
WPFでMAFを使用していますが、UI スレッドに問題があります。アクティブ化する各アドインが固有の UI スレッドになることを望みます。
あなたがおそらく疑問に思っていることをなぜ私は望んでいるのですか?私は説明しようとします:-)
アドインのコンテナーであるホスト アプリケーションがあります。ホスト用のアドインを開発するさまざまな人々。開発者がアドインで長い手順を開始し、その手順をスレッドで呼び出すか開始するのを忘れた場合、ホストとアドインが同じ UI スレッドを共有するため、ホストがフリーズします。
すべてのアドインは個別の appdomain で実行されます。すべてのヒントについて私は幸せです。
c# - AddInToken.Activateで例外をキャッチ()
MAFを使用していますが、アドインのアクティブ化に問題があります。私の計画を説明させてください。
最初にセカンダリAppDomainを作成し、次にアドインをアクティブ化しようとします。
私のアドインは非常に単純で、1つのヘルパーアセンブリのみを参照しています。このヘルパーアセンブリがアドインのディレクトリにある場合、すべてのものが魅力のように機能します。
アドイン
- MyDemoAddIn.dll
- Helpers.dll
Helpers.dllを削除すると、アプリケーション全体がクラッシュします。
タイプ'System.IO.FileNotFoundException'の最初のチャンスの例外がMyDemoAddIn.DLL'PresentationHost.exe'(管理対象(v4.0.30319))で発生しました:ロードされた'C:\ WINDOWS \ Microsoft.Net \ assembly \ GAC_MSIL \ mscorlib.resources \ v4.0_4.0.0.0_de_b77a5c561934e089 \mscorlib.resources.dll'タイプ'System.Reflection.TargetInvocationException'のファーストチャンス例外がmscorlib.dllで発生しましたタイプ'System.Reflection.TargetInvocationException'のファーストチャンス例外がシステムで発生しました。 AddIn.dllタイプ'System.Reflection.TargetInvocationException'の最初のチャンスの例外がSystem.AddIn.dllで発生しました
私は例外処理ですべてをテストしました。Host、AddInView、または作成したAppDomainからの例外をキャッチできません:-(
誰かアイデアがありますか?
c# - Windows サービス ホスト内でクラッシュする MAF アドインを適切に処理するにはどうすればよいですか?
ユーザーが作成したプラグインをロードするために MAF を使用する Windows サービスがあります。各アドインをロードする方法は次のとおりです。
すべてのアドインは問題なくロードされます。私が抱えている問題は、アドインの品質を制御できず、時々クラッシュしてサービス全体が停止することです。サービスがクラッシュしないように、アドインから発生するエラーを適切にキャッチする方法はありますか?