コンテンツと構造を管理してサブサイト間の出版サイトを移動する

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/62731

  •  10-12-2019
  •  | 
  •  

質問

公開サイトに公開ページを同じサイトコレクション内の別のサイトに移動しようとしています。操作は常に失敗しました。[ListItem] [DragenimalAsimeFibretilBioethanol.aspx]値をNULLにすることはできません。パラメータ名:G

4回発生します。 それから私はstsadm`-o gl-importListItem exportListItemを使用しました、結果は同じです。ターゲットサイトにまだ表示されていないページ。export.logを開くと、エラーはありません。しかし、import.logを開くと4つのエラーがあります。これがエラーです:

ExtendedVerbose: Updating field TaxKeywordTaxHTField.
ExtendedVerbose: Updating field TaxKeyword.
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx] Progress: Importing
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Verbose: List URL: /en/News/ArchivedNews/Pages
Warning: User or group 27 cannot be resolved.
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)
.

助けてください、私はアイテムの量が5000に達しているので、私は本当に緊急に移動する必要があります(スロットル問題)。 私がパブリッシングサイトをサイトから別のサイトに移動するための他の方法はありますか。 ありがとう

役に立ちましたか?

解決

The problem lies with the creation of 2 fields of User Type which were created using XML (Visual Studio). There fields were not provisioned correctly, the atrribute List="UserInfo" was not defined in the field definition. I've created the below script to fix this issue.

Write-Host Adding SharePoint PowerShell Snapin
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$contentOwner = "ContentOwner"

$contentResponsible ="ContentResponsible"

function ProcessPublishingSite()
{
    $SiteUrl = (Get-SPWebApplication -Identity "WebAppName" -ErrorAction stop).Url

$Site = Get-SPSite $SiteUrl

$newsSite = $Site.AllWebs["News"] #News is the source site that contains the library of pages I want to move

$lib = $newsSite.Lists["Pages"]

Write-Host "***Look for List=""UserInfo"" <------------ " -ForegroundColor DarkGreen

Write-Host Editing $contentOwner -ForegroundColor DarkGray

EditFieldXML $lib $contentOwner

Write-Host ________________________________________________________________________________________________________________ -ForegroundColor Blue

Write-Host Editing $contentResponsible -ForegroundColor DarkGray

EditFieldXML $lib $contentResponsible
}

function EditFieldXML($lib,$targetField)

{
    $fld = $lib.Fields.GetFieldByInternalName($targetField)

Write-Host Current field definition $fld.SchemaXml

Write-Host ________________________________________________________________________________________________________________ -ForegroundColor Green

$fld.Sealed = $false

$fld.PushChangesToLists = $true
$fld.Update()

$schema = [xml]$fld.SchemaXml

$schema.Field.SetAttribute("List","UserInfo")

$fld.SchemaXml = $schema.PSBase.OuterXml

$fld.PushChangesToLists = $true
$fld.Update()

Write-Host New Field definition $fld.SchemaXml
}

ProcessPublishingSite

This script will add the missing attrubute at the library column level. Can be modified to add at the site column level.

Hope this help other people that came across this problem.

他のヒント

This is probably due to a Custom User field that is incorrectly created. MOst possibly because of lack of setting the property List to "UserInfo". At least that was the case when i got this error.

This post is talking about the exact same issue. The solution is tricker though, if the system is already in production. If not, just update your user field xml:s

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top