我正在尝试将发布页面移动到同一站点集中的另一个站点。操作始终失败[listItem] [dragenimalaysiasjungleforvandlerpalmefefibretilbioarnol.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归因
scroll top