問題タブ [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.

0 投票する
1 に答える
706 参照

c# - .netフレームワークを使用したMicrosoftアドイン

.netFrameworkでMAFを使用してアプリケーションを拡張しています。パイプラインと必要なフォルダー構造を実装しましたが、1つのdllにアドインを実装すると正常に機能します。

1つのdllがコントラクトを実装し、サポートするdllが内部ロジックを実行する複雑なアドインがある場合。

このアドインプロジェクトをビルドすると、メインdllとサポートdllがアドインフォルダーにコピーされ、その時点でフレームワークはそのフォルダーからトークンを見つけることができません。

0 投票する
1 に答える
219 参照

appdomain - System.AddIn AddInView アセンブリの厳密な名前の問題

System.AddIn API を使用して動作するアプリケーションを作成しました。アドインは現在、インターネットの信頼を持つ外部 AppDomain でアクティブ化されています。

パフォーマンスを向上させるために、すべてのパイプライン コンポーネントに厳密な名前を追加しました。ただし、これを行うとすぐに、アドインをアクティブ化しようとすると次の例外が発生します。

System.Security.SecurityException: そのアセンブリは、部分的に信頼された呼び出し元を許可しません。

Fusion ログを見ると、エラー メッセージは、AddInView アセンブリが部分的に信頼された呼び出し元を許可していないことが原因であることを示しています。ただし、アセンブリに [assembly: AllowPartiallyTrustedCallers] 属性を追加しました。唯一のアセンブリ AddInView 参照は次のとおりです。

  1. システム。
  2. System.AddIn
  3. System.AddIn.Contract

この問題を解決する方法はありますか?

0 投票する
1 に答える
979 参照

.net - 「AddInProcess.exeが動作を停止しました」を抑制できますか?

独自のプロセスで起動されたMAFプラグイン内で実行することにより、潜在的に悪意のあるコードをサンドボックス化しようとしています。

StackOverflowExceptionを処理するときに、「AddInProcess.exeが動作を停止しました」というダイアログが表示されることを除いて、これはうまく機能しているようです。これにより、テストが非常に困難になります

スリープが切れる前に「閉じる」ボタンをクリックすると、テストは成功します。それ以外の場合は失敗します。これは、「閉じる」ボタンが押されるまでプロセスが終了しないことを示しています。プロセスが終了することを期待している場合、このダイアログを表示せずに終了することを確認するにはどうすればよいですか?OSを「解決策を確認しない」に設定しようとしましたが、ダイアログが表示されます。「ソリューションを自動的にチェックする」に設定すると、ダイアログは回避されますが、最大10秒かかります。これは望ましくありません...そして、OSの設定は避けたいと思います。

AddInProcess.exeが動作を停止しました

0 投票する
2 に答える
719 参照

asp.net - ASP .NET で Web ページを動的にプラグインする (およびプラグインを更新する) 方法は?

通常のアセンブリの場合、MEF を使用してアセンブリを動的にロードできます。これらのアセンブリのライブ更新が必要な場合は、AppDomains を使用して動的アセンブリをホストすることをお勧めします (マネージド アドイン フレームワーク (MAF) を使用できる可能性があります)。更新が必要な場合、appdomain が停止され、アセンブリが更新され、appdomain が再読み込みされます。

コード ビハインド クラスを含む ASP .NET によって読み込まれるアセンブリについてはどうでしょうか。メインのアプリドメインを強制的に再起動せずに更新するにはどうすればよいですか? 一部のページを動的アプリケーション ドメインでホストすることはできますか? どうやってそれをしますか?ユーザーが再ログインする必要がないように、この appdomain でログイン トークンと認証情報を共有できますか?

ありがとう

0 投票する
1 に答える
846 参照

c# - AddIn プロセス名を指定する方法は?

Microsoft AddIn Framework を使用して AddIn アセンブリをロードしています。それらをサービスから分離するために、それらを独自のプロセスで実行しています。すべてのアドイン プロセスがタスク マネージャーに AddInProcess32.exe として表示されるのが気に入らない点です。プロセスの分離を使用している場合、タスクマネージャーに表示される名前を変更して、ユーザーにとってよりわかりやすい名前にするにはどうすればよいですか?

0 投票する
1 に答える
263 参照

c# - MAFアドインのEntryAssembly

アドインの AppDomain 内から呼び出されたときにSystem.Reflection.Assembly.GetEntryAssembly()がアドインのメイン アセンブリへの参照を返すように MAF アドインをセットアップする方法はありますか?

背景: 私のプロジェクトの特定のセキュリティ要件を満たすには、別の AppDomain にアドインを読み込む必要があり、GetEntryAssembly() の結果は、アドインの AppDomain 内から呼び出されたときにアドインの (厳密に名前が付けられた) メイン アセンブリに設定する必要があります。MSDN MAF ウォークスルーで説明されているパターンに従って、テスト ケースを開発しました。私のテスト ケースでは、アセンブリが別の AppDomain (またはプロセス) に読み込まれている場合、GetEntryAssembly() は常に null を返します。

GetEntryAssembly のドキュメントに、「マネージ アセンブリがアンマネージ アプリケーションからロードされた場合、GetEntryAssembly メソッドは Nothing を返すことができる」とあることに気付きました。これは、AppDomain 境界を越えた MAF のプロキシに適用されますか?

問題のアセンブリと実行可能ファイルにはすべて厳密な名前が付いています。

0 投票する
1 に答える
279 参照

c# - C# でのアドイン パイプラインの実用性

アドイン/プラグイン環境のアプリケーションで MEF パイプラインを使用することは、どの程度実用的ですか?

たとえば、基本的なレポート基本クラスを作成し、何らかのアドイン セットアップ (MEF パイプラインなど) を使用して機能を拡張する場合、このセットアップでそれを使用することはどの程度実用的ですか?

このモデルを使用しているアプリケーションはあまりありません (誰かがこれを使用している商用ソフトウェアのリストを持っている場合は、チェックしてみたいと思います)。

0 投票する
1 に答える
239 参照

c# - 1つのC#パイプラインを使用した複数のアドイン

1つのアドインパイプライン(MEF)を持つことは可能ですが、アドインクラスタイプに応じて異なる機能を実行しますか?

例:レポート用のアドイン(各アドインが特殊なレポート機能を実行する)と計算用のアドイン(各アドインがアプリケーションの異なる部分に対して異なる計算を実行する)がある場合、方法はありますかこれを1つのパイプラインに設定するには?または、アドインをサポートする機能ごとに個別のパイプラインを設定する必要がありますか?

0 投票する
1 に答える
877 参照

c# - C# のカスタム パイプライン ファイルとディレクトリ構造

C# を使用してアドインのパイプラインを構築しました。プロジェクトをビルドしたら、通常のアドイン サブディレクトリではなく、ルート ディレクトリにある .dll ファイルを使用するようにコードを更新するにはどうすればよいですか?

例 - 現在:

理想的には(それぞれ):

コード:

この時点で、AddInStore オブジェクトが構築されており、ここでブレークポイントを設定すると、AddInStore オブジェクトには既にディレクトリが設定されています。

このオブジェクトを手動で設定して、アドインの理想的なディレクトリとファイル構造を実現することはできますか?

0 投票する
2 に答える
279 参照

.net - メモリ内に生成されたアセンブリで System.Addin を使用する

ユーザーにオンザフライの拡張性を提供する必要があるアプリケーションがあります。大量のデータといくつかの数学/数値アルゴリズムを備えた一種の計算エンジンと考えることができます。double を返す有効な C# 式をユーザーが作成できるように、いくつかの静的フィールド (データ) とメソッド (計算) を提供します。

ユーザーは有効な式をテキスト ボックスに入力し、結果を提供する必要があります。私が現在行っていることは、http://blogs.msdn.com/b/abhinaba/archive/2006/02/09/528416の手順に従って、メモリ内で生成されるアセンブリの静的メソッドに式を挿入することです。 .aspx . 次に、リフレクションを使用して特定のメソッドを呼び出し、結果を返します。

生成されたアセンブリがアプリケーションのライフサイクル全体にわたって蓄積し続けるという事実を除いて、これは正常に機能します。クライアント アプリケーションしか持っていなかったときはこれで問題ありませんでしたが、現在はサーバー ベースのアプリケーションに移行しており、時々サービスをリセットする必要はありません。

アセンブリをアンロードする方法を検索すると、System.Addin 名前空間が見つかりました。それはまさに私が望むことを行います.別のAppDomainにアセンブリをロードします.これは後で破棄できます. さらに、すべての反射をカプセル化します。

私が今抱えている唯一の問題は、AddInStore がファイル パスを想定していることですが、CompileParameters の GenerateInMemory プロパティを true に設定することにより、すべてのアセンブリがメモリ内に生成されます。アセンブリをディスクに書き込むことは絶対に必要ですか? または、実行時にコンパイルされたアセンブリをアドインとして直接使用することは可能ですか?

よろしく、 カルロス