サイトを作成し、Sharepoint 2010 Web サービスを介してプログラムでドキュメント ライブラリのコンテンツ タイプを追加しています。私はこれを行うことができますが、ドキュメント ライブラリのコンテンツ タイプを有効/許可したいと考えています。コードは次のとおりです。
Lists.Lists lists = new Lists.Lists();
lists.Url = sharepointWebSiteUrl + "/_vti_bin/lists.asmx";
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create document library templateid 101 is a document library
System.Xml.XmlNode result = lists.AddList(documentLibraryName, documentLibraryName, 101);
XmlDocument xmlDoc = new XmlDocument();
XmlNode xnProperties = xmlDoc.CreateNode(XmlNodeType.Element, "List", "");
//Allow/enable content types for the document library
XmlAttribute xnAllowContentTypesAttribute = (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, "AllowContentTypes", "");
xnAllowContentTypesAttribute.Value = "True";
xnProperties.Attributes.Append(xnAllowContentTypesAttribute);
XmlAttribute xnContentTypesEnabledAttribute = (XmlAttribute)xmlDoc.CreateNode(XmlNodeType.Attribute, "ContentTypesEnabled", "");
xnContentTypesEnabledAttribute.Value = "True";
xnProperties.Attributes.Append(xnContentTypesEnabledAttribute);
XmlNode updateList = lists.UpdateList(documentLibraryName, xnProperties, null, null, null, null);
//Add the content types
XmlNode xmlNodeContentType = null;
xmlNodeContentType = lists.ApplyContentTypeToList(sharepointWebSiteUrl, Constants.ReportDocumentLibraryContentTypeId, documentLibraryName);
xmlNodeContentType = lists.ApplyContentTypeToList(sharepointWebSiteUrl, Constants.DataSourceDocumentLibraryContentTypeId, documentLibraryName);
xmlNodeContentType = lists.ApplyContentTypeToList(sharepointWebSiteUrl, Constants.ModelDocumentLibraryContentTypeId, documentLibraryName);
上記はドキュメント ライブラリを作成し、コンテンツ タイプを追加しますが、ドキュメント ライブラリのコンテンツ タイプを許可/有効化しません。
オブジェクト モデルではなく、 Web サービスを介してこれを行う必要があることを思い出してください。