콘텐츠 및 구조 관리를 사용하여 하위 사이트간에 게시 사이트 이동

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

  •  10-12-2019
  •  | 
  •  

문제

게시 사이트의 게시 페이지를 동일한 사이트 모음의 다른 사이트로 이동하려고합니다.작업은 항상 실패합니다. '[ListItem] [DragenImalAssiasJungleForVandlerPalMefeFretilBioEthanol.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