【问题标题】:Sitecore TDS package build suddenly failsSitecore TDS 包构建突然失败
【发布时间】:2015-09-29 15:58:12
【问题描述】:

我有一个包含一个 Web 项目和两个 TDS 项目的解决方案。从今天开始,TDS 包构建突然失败,尽管我没有更改项目中的任何内容。这是输出消息:

1>------ Rebuild All started: Project: SAP HANA, Configuration: KON Any CPU ------
1>  SAP HANA -> C:\Solutions\BTC Microsites\dev\SAP HANA\SAP HANA\bin\SAP HANA.dll
2>------ Rebuild All started: Project: TDS, Configuration: Debug Any CPU ------
2>              TDSVersion: 5.1.0.17
2>              FrameworkVersion: 4
2>              Visual Studio Version: 12.0
2>              \Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll
2>                                      Using TDS project config setting 'Debug' to perform config transforms
2>                                      Using TDS project config setting 'Debug' to perform xml transforms
2>                      Looking for: C:\Solutions\BTC Microsites\dev\SAP HANA\TDS\bin\Debug\\**\*.*
2>                      Building package with files in folder .\bin\Debug\
2>C:\Program Files (x86)\MSBuild\HedgehogDevelopment\SitecoreProject\v9.0\HedgehogDevelopment.SitecoreProject.targets(169,5): error : The package builder failed. Please see the build output log for more details.
2>Done building project "TDS.scproj" -- FAILED.
2>
2>Build FAILED.
3>------ Rebuild All started: Project: TDS_Content, Configuration: Debug Any CPU ------
3>              TDSVersion: 5.1.0.17
3>              FrameworkVersion: 4
3>              Visual Studio Version: 12.0
3>              \Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll
3>                                      Using TDS project config setting 'Debug' to perform config transforms
3>                                      Using TDS project config setting 'Debug' to perform xml transforms
3>                      Looking for: C:\Solutions\BTC Microsites\dev\SAP HANA\TDS_Content\bin\Debug\\**\*.*
========== Rebuild All: 2 succeeded, 1 failed, 0 skipped ==========

这是当我点击错误消息时它指向我的地方:

<GeneratePackage
      ProjectFilePath="$(MSBuildProjectFullPath)"
      PackageOutputDirectory="$(_PackageOutputDirectory)"
      ConfigurationToBuild="$(Configuration)"
      CompiledFiles="$(_OutputPath)"
      PackageName="$(PackageName)"
      Author="$(PackageAuthor)"
      Publisher="$(PackagePublisher)"
      Version="$(PackageVersion)"
      SolutionDir="$(SolutionDir)"
      AddDateTimeToPackageName="$(AddDateTimeToPackageName)"
      SeperateFilesAndItems="$(SeperateFilesAndItems)"
      PackageDateTimeFormat="$(PackageDateTimeFormat)"
      RecursiveDeployAction="$(RecursiveDeployAction)"
      SitecoreAssemblyPath="$(SitecoreAssemblyPath)"
      PackageReadme="$(PackageReadme)"
      ExcludeCode="$(PackageExcludeCode)"
      Verbose="true"/>

这个错误并没有说明什么。有没有人突然知道怎么回事?

编辑: 详细错误信息:

Building .\bin\Debug\..\Package_Debug\TDS_SAPHANA_Package_20150929_0938.update
2>                      Inner Exception '', hexidezimaler Wert 0x0B, ist ein ungltiges Zeichen.(System.ArgumentException):
2>                         bei System.Xml.XmlUtf8RawTextWriter.InvalidXmlChar(Int32 ch, Byte* pDst, Boolean entitize)
2>                         bei System.Xml.XmlUtf8RawTextWriter.WriteElementTextBlock(Char* pSrc, Char* pSrcEnd)
2>                         bei System.Xml.XmlUtf8RawTextWriter.WriteString(String text)
2>                         bei System.Xml.XmlUtf8RawTextWriterIndent.WriteString(String text)
2>                         bei System.Xml.XmlRawWriter.WriteValue(String value)
2>                         bei System.Xml.XmlWellFormedWriter.WriteValue(String value)
2>                         bei Sitecore.Update.Utils.XmlHelper.SerealizeField(SyncField syncField, XmlWriter writer, SerializationContext context)
2>                         bei Sitecore.Update.Utils.XmlHelper.SerializeVersion(SyncVersion syncVersion, XmlWriter writer, SerializationContext context)
2>                         bei Sitecore.Update.Utils.XmlHelper.SerializeItem(SyncItem syncItem, XmlWriter writer, SerializationContext context)
2>                         bei Sitecore.Update.Commands.AddItemCommand.SerializeCommand(XmlWriter writer, SerializationContext context)
2>                         bei Sitecore.Update.Commands.BaseItemCommand.Serialize(XmlWriter writer, SerializationContext context)
2>                         bei Sitecore.Update.Commands.SerializationCommandFactory.SerializeCommand(ICommand command, XmlWriter writer, SerializationContext context)
2>                         bei Sitecore.Update.Installer.CommandToEntryConverter.PlainConvert(ICommand entry)
2>                         bei Sitecore.Update.Installer.CommandToEntryConverter.Convert(ICommand entry)
2>                         bei Sitecore.Update.Installer.CommandToEntryConverter.InternalConvert(ICommand entry, IProcessingContext context)
2>                         bei Sitecore.Install.Framework.BaseConverter`1.Convert(T entry, IProcessingContext context)
2>                         bei Sitecore.Install.Framework.BaseSource`1.InternalSink.Put(T entry)
2>                         bei Sitecore.Install.Framework.FilteringSink`1.Put(T entry)
2>                         bei Sitecore.Update.Installer.CommandSource.InternalPopulate(ISink`1 sink)
2>                         bei Sitecore.Install.Framework.BaseSource`1.Populate(ISink`1 sink)
2>                         bei Sitecore.Install.PackageProject.InternalPopulate(ISink`1 sink)
2>                         bei Sitecore.Install.Framework.BaseSource`1.Populate(ISink`1 sink)
2>                         bei Sitecore.Install.Utils.EntrySorter.Populate(ISink`1 sink)
2>                         bei Sitecore.Install.PackageGenerator.GeneratePackage(PackageProject solution, ISink`1 writer)
2>                         bei Sitecore.Update.Engine.PackageGenerator.GeneratePackage(DiffInfo diff, String licenseFile, String outputPath)
2>                      Exception Cannot generate package: '', hexidezimaler Wert 0x0B, ist ein ungltiges Zeichen.(System.Exception):
2>                         bei Sitecore.Update.Engine.PackageGenerator.GeneratePackage(DiffInfo diff, String licenseFile, String outputPath)
2>                         bei HedgehogDevelopment.SitecoreProject.PackageBuilder.PackageBuilder.d(d ?)
2>                         bei HedgehogDevelopment.SitecoreProject.PackageBuilder.y.d(String[] ?)
2>C:\Program Files (x86)\MSBuild\HedgehogDevelopment\SitecoreProject\v9.0\HedgehogDevelopment.SitecoreProject.targets(169,5): error : The package builder failed. Please see the build output log for more details.
2>Done building project "TDS.scproj" -- FAILED.

【问题讨论】:

  • 能否尝试关闭解决方案。删除您的 .suo 文件(如果有的话)。重新打开并重试?
  • 试一试,但问题仍然存在。还是谢谢!
  • 那么问题可能还有其他原因。您能否尝试增加输出控制台的详细级别(您可以从这里检查它是如何完成的 - sedodream.com/2008/06/16/…)并粘贴详细的异常:)
  • 好的,输出控制台增加的详细级别显示了更详细的错误消息。我将其添加到第一篇文章中。
  • 没有。我使用 Team Foundation Server。但是从昨天开始我没有检查过任何东西。但我只记得,我唯一做的就是在项目的富编辑器中更改一些文本。这可能与问题有关吗?

标签: sitecore tds


【解决方案1】:

似乎异常是由富文本字段中的无效行尾引起的(检查原始答案的 cmets 部分)。由于 Sitecore 序列化对行尾非常严格(请查看 this 文章以供参考),它会导致 TDS 无法生成包。如果删除了无效的行尾 - 一切都应该正常工作:)

【讨论】:

  • 我查了0x0B,是+字符。这怎么可能是问题。它已经在那里呆了好几个星期了,直到昨天一切都很好。我给了它一个机会,并从富文本字段中删除了 + 字符,但仍然没有构建成功。
  • 0x0B 应该是行尾。尝试完全删除项目的内容并再次重新同步。如果您最近填充了该值,则可能会粘贴一些内容。尝试在某些文本编辑器中检查项目内容 - 它应该被破坏。您也可以尝试清除它,如下所示 - stackoverflow.com/questions/29301248/…
  • 好的,我找到了无效字符。它位于单行文本字段中。一些我什至看不懂的奇怪字符。必须是编辑从 MS Word 复制粘贴作业。无论如何,感谢您的帮助:)
猜你喜欢
  • 1970-01-01
  • 2020-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-16
  • 1970-01-01
  • 2016-12-02
相关资源
最近更新 更多