1

リファクタリングしたいSharePointプロジェクトを継承し、すべての共通/再利用可能なコードを取得して、ソリューション内の別のプロジェクトに配置しました。ソリューションにはすでにいくつかのプロジェクトがあり、ほとんどすべてのプロジェクトには、ソリューション内の他の1つ以上のプロジェクト間の依存関係があります。

すべての依存関係(SPMetalクラス、静的メソッド、utilsなど)を1つのプロジェクトに入れて、共通コードに必要な参照が1つだけになるようにします(コードクローンは必要ありません)。

プロジェクトをリファクタリングし、このコードをSharePointサーバー(VS2012を介したローカル開発サーバーとWSPを介した運用サーバーの両方)に展開しようとしています。最初Common.dllに、他のすべてのプロジェクトの「追加アセンブリ」リスト(Packageファイル内)にを追加しようとしましたが、これにより、すべてのWSPが次のエラーで展開に失敗しました。

Cannot add the specified assembly to the global assembly cache

これは、Common.dllがowstimerおよびその他のサービスによって使用されており、削除できないためです。

私の次の考えは、コードを機能としてデプロイし、他のすべての機能をそれに依存させることでしたが、これを行う方法がわかりません。クラスのみを含む機能を使用する方法はありますか?

複数のSharePointプロジェクトで共通のコードを利用できるようにするためのより良い方法はありますか?

4

1 に答える 1

0

エラーに基づいて、「Common.dll」アセンブリに強力に署名していないようです。その結果、GAC にインストールできません。

于 2013-02-13T05:41:33.883 に答える