この使用例は、Microsoft SharePoint Foundation ソリューション フレームワークを使用してユーザー定義関数 (UDF) の DLL を配置する方法を示しています。
SharePoint Foundation ソリューション フレームワークでは、すべてのコンポーネントをバンドルして、ソリューション ファイル (CAB ベースの形式で拡張子は .wsp) という新しいファイルで SharePoint Foundation を拡張することができます。 ソリューションは、サイトに適用でき、個別に有効化または無効化できる一連の機能、サイト定義、アセンブリが含まれる配置と再利用が可能なパッケージです。 さらに、ソリューション ファイルを使用して、アセンブリ、クラス リソース、.dwp ファイル、その他のパッケージ コンポーネントなど、Web パーツ パッケージのコンテンツを展開できます。 SharePoint Foundation ソリューション フレームワークについて、詳細は SharePoint Foundation の開発を開始する (https://msdn.microsoft.com/library/ee539432(office.14).aspx) の SharePoint Foundation ノードを参照してください。
SharePoint Foundation ソリューション フレームワークを使用して UDF アセンブリの作成と配置を行う手順は次のとおりです。
ソリューション マニフェスト ファイル Manifest.xml を作成します。
ソリューション マニフェスト (常に Manifest.xml というファイル名) は、ソリューション ファイルのルートに格納されます。このファイルで、機能、サイト定義、リソース ファイル、Web パーツ ファイル、処理するアセンブリのリストを定義しますが、ファイル構造は定義しません。ソリューションに含まれているファイルが、マニフェスト XML ファイルに含まれていない場合、それらのファイルは処理されません。
注意
マニフェスト XML ファイルの構造の詳細は、SharePoint Foundation のドキュメントを参照してください。
UDF アセンブリと Manifest.xml を CAB ファイルにパッケージ化します。
SharePoint Foundation 管理サービスがサーバー上で実行していることを確認してください。
Stsadm.exe を使用して、ソリューションをサーバーに追加します。
Stsadm.exe を使用して、ソリューションを配置します。
それぞれの Excel Services の信頼できる場所には、AllowUdfs フラグが設定されています。
注意
AllowUdfs フラグは、[Excel Services: 信頼できるファイル保存場所] ページにある [許可されたユーザー定義関数] オプションによって示されます。 [信頼できるファイル保存場所] ページへの移動方法については、「ステップ 3: UDF を展開して有効化する」を参照してください。
特定の信頼できる場所から UDF を呼び出せるようにするには、次に示す操作が必要になります。
- [ AllowUdfs] の値を true にします。既定値は false です。
- UDF アセンブリを信頼できる UDF リストに追加して、ブックからの UDF の呼び出しを許可します。
UDF を有効化する方法と信頼できる UDF リストに UDF を追加する方法の詳細は、「UDF を有効にする方法」を参照してください。
注意
名前の競合を回避するには、UDF アセンブリとその依存関係に厳密な名前を付けて、できるだけ一意になるような名前にします。 詳細については、「Excel Services のベスト プラクティス」と「Excel Services の既知の問題とヒント」を参照してください。
手順
Manifest.xml ファイルを作成するには
- [ ソリューション エクスプローラー] で、[ 追加] をポイントしてから、[ 新しいアイテム] をクリックします。
- [ XML ファイル] を選択し、ファイル名を「Manifest.xml」とします。
- [追加] をクリックします。
- 次に示すコンテンツをファイルに追加します。
<?xml version="1.0" encoding="utf-8" ?>
<Solution xmlns="http://schemas.microsoft.com/sharepoint/" SolutionId="{57568687-2CC0-45bf-B66A-2D50D57108CA}" DeploymentServerType="ApplicationServer">
<Assemblies>
<Assembly DeploymentTarget="GlobalAssemblyCache" Location="EcsUdfsCommonSet.dll"/>
</Assemblies>
</Solution>
注意
ソリューションごとに一意の GUID を生成する必要があります。 Solution 要素の詳細 については、「Foundation Solutions SharePoint Web パーツ パッケージ ( 」 を参照してください https://msdn.microsoft.com/library/ms413687.aspx) 。
ソリューション パッケージを作成するには
- ソリューション ファイルの作成方法の詳細については、SharePoint Foundation SDK の「ソリューションおよび Web パーツ パッケージ」の下にある「ソリューションの作成」トピックを参照してください。
SharePoint Foundation の管理が実行されているかどうかを確認するには
[ 開始] をクリックし、[ 管理ツール] をポイントしてから、[ サービス] をダブルクリックします。
[ サービス] ダイアログ ボックスが表示されます。
SharePoint Foundation 管理サービスのステータスが「 開始」であることを確認します。「開始」でない場合は、[SharePoint Foundation 管理] を右クリックしてから [ 開始] をクリックします。
ソリューションを追加するには
[ スタート ]、[ ファイル名を指定して実行 ] の順にクリックしてから、「cmd」と入力します。
コマンド プロンプト コンソールが表示されます。
SharePoint サーバーにソリューションを追加するには、次のスクリプトを実行します。
stsadm.exe -o addsolution -filename <pathtoCAB>
注意
Stsadm.exe は、C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN にあります。
注意
Stsadm.exe コマンド オプションの詳細については、「Stsadm と Windows PowerShell 間のマッピング (SharePoint Foundation 2010)」(https://technet.microsoft.com/library/ff621081.aspx)) を参照してください。
ソリューションを展開するには
[ スタート ]、[ ファイル名を指定して実行 ] をクリックしてから、「cmd」と入力します。
コマンド プロンプト コンソールが表示されます。
ソリューションを SharePoint サーバーに配置するには、次のスクリプトを実行します。
stsadm.exe -o deploysolution -name <filename of the CAB> -immediate -allowGacDeployment
グローバル アセンブリ キャッシュに UDF DLL が表示されます。