パッケージ作成者が別のパッケージ、つまりForms Renderingパッケージの依存関係を要求するか、必要な依存関係をインストールするのがベストプラクティスです。設定パッケージはPackage Creatorから入手できますが、パッケージに多数の設定項目がある場合は面倒です。パッケージ作成者 - 依存関係の要求
答えて
Composite C1 Package Creator(v.3.3)の現在のリリースには、UIで必要なパッケージを指定する機能がありません。私はあなたにこれのための機能要求を登録し、あなたの必要性を説明することをお勧めします。あなたはあなたがが、パッケージには、このチェックを追加することができますいくつかのC#の開発でカスタム検証ロジック
を書くhttp://compositec1.codeplex.com/workitem/list/basic
に「新規アイテムの作成」を使用することができます。 C1パッケージシステムは、インストール前に状態を検証し、インストール作業を行う 'インストーラプラグイン'に基づいています。このような 'インストーラプラグイン'を作成し、必要なC1パッケージの存在を検証して、プラグインをパッケージに関連付けることができます。
(オーバーライドをインストール
Composite.Core.PackageSystem.PackageFragmentInstallers.BasePackageFragmentInstaller
から継承したクラスを作成します)と検証() - (検証にあなたの検証を置く)と1つ以上のPackageFragmentValidationResultがあなたの検証が失敗で返します。 Install()を単に返すようにしてください。
ファイルinstall.xmlのパッケージに新しい「断片のインストーラ」クラスを登録する - ルート要素の内側に、このようなセクションを追加します。
<mi:PackageFragmentInstallerBinaries> <mi:Add path="~/MyAssembly.dll"/> </mi:PackageFragmentInstallerBinaries>
どこパスポイント、アセンブリにあなたがそれを追加としてジッパーに。既存の
<PackageFragmentInstallers />
要素内、これをやって
<mi:Add installerType="MyFragmentInstallers.MyValidator, MyFragmentInstallers"/>
のような要素を使用してBasePackageFragmentInstaller
から継承するクラスへの呼び出しを追加した複合C1は、インストールパッケージの一部としてあなたのvalidate()メソッドを呼び出すようになります検証メッセージが返された場合にユーザーに警告します。
を使用すると、パッケージのIDを知っていれば、それはComposite.Core.PackageSystem.PackageManager.IsInstalled(Guid packageId)
を使用してインストールされている場合、あなたは確認することができますパッケージがインストールされている場合
を検出します。
- 1. 逆依存関係
迅速な対応をありがとう - 私のソリューションは私の目標には十分だと思います。 – Kevin