次のアクティベーション コードを持っています。
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
// Create a new list and populate it.
using (SPWeb web = properties.Feature.Parent as SPWeb)
{
web.Lists.Add("Projects", "Projects That are currently being worked on.", SPListTemplateType.GenericList);
web.Update();
// Add the new list and the new content.
SPList projectList = web.Lists["Projects"];
projectList.Fields.Add("Name", SPFieldType.Text, false);
projectList.Fields.Add("Description", SPFieldType.Text, false);
projectList.Update();
//Create the view? - Possibly remove me.
System.Collections.Specialized.StringCollection stringCollection =
new System.Collections.Specialized.StringCollection();
stringCollection.Add("Name");
stringCollection.Add("Description");
//Add the list.
projectList.Views.Add("Project Summary", stringCollection, @"", 100,
true, true, Microsoft.SharePoint.SPViewCollection.SPViewType.Html, false);
projectList.Update();
}
}
project と呼ばれる新しいリストとそれに関連付けられたビューを追加する必要があります。アプリを実行すると、次のようになります。
「フィーチャのアクティブ化」: オブジェクト参照がオブジェクトのインスタンスに設定されていません
私の質問は次のとおりです。
- なぜこうなった?アクティブ化はサイトレベルで行われます。私は「開発」サイトの管理者です。
- このリストがまだ存在していないことを毎回確認する必要がありますか? (毎回、デプロイを押すたびに参照)