皆さん、こんにちは。
Visual Studio extensions for Windows SharePoint Services 開発チームです。

前回に引き続き今回も、セミナーでいただいた質問について解答いたします。
今回は開発に関連した質問に関しての回答をまとめておきます。

1) アセンブリをGACに登録することなくワークフローの配置をする方法は?
質問はワークフローに関してですが、アセンブリをGACに登録せずにサーバに配置する一般的な方法について解答します。
アセンブリの配置方法は、ソリューション マニフェスト (WSP ビューでソリューション コンテナの直下にあるmanifest.xml)に定義します。このファイルの中から目的のアセンブリを配置するためのAssembly要素を探して、DeploymentTarget属性を確認してください。VSeWSSは規定でこのDeploymentTarget属性にGlobalAssemblyCacheという値を設定します。この設定はアセンブリがGACに配置されることを意味しています。GACに配置したくない場合はこの値をWebApplicationに設定します。

2) 追加のアセンブリをWSPに含める方法は?
VSeWSSは規定で、プロジェクトでビルドされたアセンブリのみをWSPに含めSharePointサーバへ配置します。それ以外のアセンブリを追加でサーバへ配置したい場合には、追加したいアセンブリをプロジェクト アイテムとして登録します(VSのソリューション エクスプローラにドラッグ ドロップするだけでOKです)。アセンブリを追加したら、WSP ビューを更新して、ソリューション マニフェストを確認してみてください。追加したアセンブリがAssemblies要素の下に追加されていることが確認できると思います。配置の際、VSeWSSは、プロジェクトでビルドされたアセンブリと、プロジェクトにアイテムとして含まれているアセンブリを自動でパッケージングし、サーバに登録します。

3) イベント レシーバのデバッグで、ブレイクポイントを貼っても止まらないがどうしてなのか?
状況にもよるので、一概にこれが原因ということは特定しづらいのですが、イベント レシーバを開発する上でのヒントになるかもしれないのでイベント レシーバの仕組みについて簡単に解説します。
イベント レシーバは実装方法によって、リストにひもづいてリストやアイテムの操作に関するイベントを処理する場合と、コンテンツ タイプにひもづいてコンテンツ タイプに対する操作や、そのコンテンツ タイプのアイテムへの操作に関するイベントを処理する場合があります。実装したイベント レシーバがどちらのタイプなのかをご確認いただくことで原因を特定できるかもしれません。
たとえば、Aというコンテンツ タイプにひもづいているイベント レシーバがあり、Aとは別のBというコンテンツ タイプでアイテムを作成したとします。このとき、Aにひもづいているイベント レシーバはアイテム作成に関するイベントを処理しません。一方、Xというリストにひもづいているイベント レシーバの場合、どのようなコンテンツ タイプでそのリストにアイテムを作成しても、イベント レシーバはアイテム作成に関するイベントを処理します。

4) SharePointでの一般的なログ出力方法はあるのか?
SharePointが出力するログと統合することを考えているのであれば、トレース ログまたは、SPGlobalAdmin.Logメソッドを利用することができます。ただし、SPGlobalAdmin.Logメソッドは将来のバージョンで廃止されることが決定されているメソッドですので、利用する場合は十分注意してください。
詳細は以下のURLをご覧ください。

MSDN Library - トレース ログ:
http://msdn.microsoft.com/ja-jp/library/aa979590.aspx

MSDN Library - SPGlocalAdmin.Log メソッド:
http://msdn.microsoft.com/ja-jp/library/microsoft.sharepoint.administration.spglobaladmin.log.aspx

5) SharePoint関連の技術情報はどこで収集するのが良いのか?
基本的には、MSDN LibraryのSharePoint SDKから情報を集めるのがよいと思います。
ただし、SharePointはさまざまなテクノロジをベースに実装されているので、開発の際にはそれぞれの要素技術に対してある程度の知識が必要になります。それは、.NET Frameworkであったり、ASP.NETやIISなどのWeb アプリケーション を構成するものであったり、データベースに関するものであったりと多岐にわたります。そのため、SharePoint開発に必要なさまざまな情報はいろいろなところに分散しているようにも見えますが、開発に必要なSharePoint固有のテクノロジの解説はSDKに載っていますので、SharePoint SDKは開発を始めるにあたってよいエントリー ポイントになることと思います。
ここではいくつか開発を始めるにあたって参考になるサイトを紹介します。

MSDN Library – SharePoint SDK
http://msdn.microsoft.com/ja-jp/library/bb264593.aspx
http://msdn.microsoft.com/ja-jp/library/aa155100.aspx

SharePoint Developer Center
http://msdn.microsoft.com/en-us/sharepoint/
http://www.microsoft.com/japan/msdn/sharepoint/
SharePoint開発に関する情報が良くまとまっています。

MSDN バーチャル ラボ
http://www.microsoft.com/japan/msdn/virtuallabs/sharepoint.mspx
バーチャル ラボは、SharePointの製品をご自身のシステムにインストールすることなく、すぐに製品の評価やトレーニングができる環境をご提供します。Office SharePoint Server 2007 および Windows SharePoint Services 3.0 の新機能や開発手法を体験していただくと共に、Office SharePoint Server 2007 を使用した業務ソリューション開発のための基礎を学習することができます。

VSeWSS ユーザ ガイド
http://www.microsoft.com/downloads/details.aspx?FamilyId=A8A4E775-074D-4451-BE39-459921F79787&displaylang=en
VSeWSSを使ったSharePoint開発のチュートリアルを通して、SharePointソリューション開発の基礎を学習することができます。

MSDN フォーラム - SharePoint
http://forums.microsoft.com/MSDN-JA/ShowForum.aspx?ForumID=1902&SiteID=7
http://forums.microsoft.com/MSDN-JA/ShowForum.aspx?ForumID=2143&SiteID=7
日本の開発者の方々の情報共有の場として開設されたフォーラムです。

コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。