2013-11-28 13 views
5

Tôi đang cố gắng thực hiện deserialization với Sitecore Powershell Extensions 251. Tôi không thể nhận được deserialization để làm việc. Đây là những gì tôi đã làm:Sitecore Powershell Deserialization

  • Tôi đã tuần tự hóa mục sitecore \ content \ settings \ testItem. Tuần tự hóa đã thành công, gói đã được tạo.

    Get-Item "master: \ content \ settings \ testItem" | Serialize-mục -recurse

  • tôi xóa các mục Sitecore \ nội dung \ Settings \ testItem và cố gắng deserialize nó bằng lệnh:

    Deserialize-mục -Path thạc sĩ: \ nội dung \ Settings \ TestItem -recurse

tôi nhận được ngoại lệ sau đây:

writeErrorStream  : True 
Exception    : System.Exception: path is not under the root 
          bei Sitecore.Data.Serialization.PathUtils.GetShortPath(String path) 
          bei Sitecore.Data.Serialization.Manager.LoadTree(String path, LoadOptions options) 
          bei Cognifide.PowerShell.PowerShellIntegrations.Commandlets.Serialization.DeserializeItemCommand.Deserialize(String path) 
          bei Cognifide.PowerShell.PowerShellIntegrations.Commandlets.Serialization.DeserializeItemCommand.ProcessRecord() 
          bei System.Management.Automation.CommandProcessor.ProcessRecord() 
TargetObject   : 
CategoryInfo   : NotSpecified: (:) [Deserialize-Item], Exception 
FullyQualifiedErrorId : System.Exception,Cognifide.PowerShell.PowerShellIntegrations.Commandlets.Serialization.DeserializeItemCommand 
ErrorDetails   : 
InvocationInfo  : System.Management.Automation.InvocationInfo 
PipelineIterationInfo : {0, 1} 
PSMessageDetails  : 

tôi đã tìm kiếm trên web, nhưng tôi không thể tìm thấy tài liệu/ví dụ cho deserialization. ? Bất cứ ai có thể viết cho tôi làm thế nào để làm deserialization, và nếu có thể, hãy tham khảo các nguồn tài liệu hoặc ví dụ trên web '

Thanx

+0

Tôi đã thử rằng: Deserialize-Item -Hath master: \\ content \ settings -Recurse. Tôi nhận được cùng một ngoại lệ. – EngelbertCoder

+0

Nếu bạn không tuần tự hóa mục Cài đặt trước đó - nó có thể bị lỗi. –

Trả lời

5

deserialize-item coomand yêu cầu 2 tham số:

  1. Path - con đường trên ổ đĩa cứng vào thư mục
  2. Root - vị trí của thư mục serialization

Recurse tùy chọn, ví dụ:

deserialize-item -Path "C:\project\data\serialization\master\sitecore\content\settings" -Root "C:\project\data\serialization\" -Recurse 

Update đầu trang trong đoạn code trên để họ có phù hợp với môi trường của bạn.

Đây là bài đăng trên blog giải thích serialization and deserialization with Sitecore Powershell Extensions.

+0

Cảm ơn. Điều đó là vậy đó! – EngelbertCoder