SharePoint Foundation ソリューションを使用して UDF を展開する

この使用例は、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 アセンブリの作成と配置を行う手順は次のとおりです。

  1. ソリューション マニフェスト ファイル Manifest.xml を作成します。

    ソリューション マニフェスト (常に Manifest.xml というファイル名) は、ソリューション ファイルのルートに格納されます。このファイルで、機能、サイト定義、リソース ファイル、Web パーツ ファイル、処理するアセンブリのリストを定義しますが、ファイル構造は定義しません。ソリューションに含まれているファイルが、マニフェスト XML ファイルに含まれていない場合、それらのファイルは処理されません。

    注意

    マニフェスト XML ファイルの構造の詳細は、SharePoint Foundation のドキュメントを参照してください。

  2. UDF アセンブリと Manifest.xml を CAB ファイルにパッケージ化します。

  3. SharePoint Foundation 管理サービスがサーバー上で実行していることを確認してください。

  4. Stsadm.exe を使用して、ソリューションをサーバーに追加します。

  5. 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 ファイルを作成するには

  1. [ ソリューション エクスプローラー] で、[ 追加] をポイントしてから、[ 新しいアイテム] をクリックします。
  2. [ XML ファイル] を選択し、ファイル名を「Manifest.xml」とします。
  3. [追加] をクリックします。
  4. 次に示すコンテンツをファイルに追加します。
<?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 の管理が実行されているかどうかを確認するには

  1. [ 開始] をクリックし、[ 管理ツール] をポイントしてから、[ サービス] をダブルクリックします。

    [ サービス] ダイアログ ボックスが表示されます。

  2. SharePoint Foundation 管理サービスのステータスが「 開始」であることを確認します。「開始」でない場合は、[SharePoint Foundation 管理] を右クリックしてから [ 開始] をクリックします。

ソリューションを追加するには

  1. [ スタート ]、[ ファイル名を指定して実行 ] の順にクリックしてから、「cmd」と入力します。

    コマンド プロンプト コンソールが表示されます。

  2. 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)) を参照してください。

ソリューションを展開するには

  1. [ スタート ]、[ ファイル名を指定して実行 ] をクリックしてから、「cmd」と入力します。

    コマンド プロンプト コンソールが表示されます。

  2. ソリューションを SharePoint サーバーに配置するには、次のスクリプトを実行します。

    stsadm.exe -o deploysolution -name <filename of the CAB> -immediate -allowGacDeployment
    

    グローバル アセンブリ キャッシュに UDF DLL が表示されます。

関連項目

タスク

概念