VS2017中SSIS解决方案Build Failed

Build Failed for SSIS Solution in VS2017

我们在 VS2012 中启动了 SSIS 解决方案并运行,我们想迁移到 VS2017。但是当我们打开解决方案并在 VS2017(版本 - 15.9.14)上进行构建时,构建失败并显示以下错误消息。

当前版本 运行 并在 VS2012 中成功构建。详情如下:

VS2012 - 11.0.50727.1
SSDT - 11.1.20627.00
SQL 服务器集成服务 - 11.0.5583.0

Visual studio 的新版本失败如下:

VS2017 - 15.9.14
SSDT - 15.1.61906.0.3120
SQL 服务器集成服务 - 15.0.1301.433

如何在新版本的 VS2017 上解决此构建问题?

Severity    Code    Description Project File    Line    Suppression State
Error       Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: The package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails.
 ---> System.Runtime.InteropServices.COMException: The package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails.

   at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSPackagePersist100.LoadPackageFromXML(Object vSource, Boolean vbSourceIsLocation, IDTSEvents100 pEvents)
   at Microsoft.SqlServer.Dts.Runtime.Package.LoadFromXML(String packageXml, IDTSEvents events)
   --- End of inner exception stack trace ---
   at Microsoft.SqlServer.Dts.Runtime.Package.LoadFromXML(String packageXml, IDTSEvents events)
   at Microsoft.SqlServer.Dts.Runtime.Project.LoadPackage(IProjectStorage storage, Package package, String streamName, IDTSEvents events)
   at Microsoft.SqlServer.Dts.Runtime.PackageItem.Load(IDTSEvents events)
   at Microsoft.SqlServer.Dts.Runtime.PackageItem.get_Package()
   at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.IncrementalBuildThroughObj(IOutputWindow outputWindow)
   at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.BuildIncremental(IOutputWindow outputWindow)           0

我能够解决这个问题,方法是在编辑模式下打开单个 dtsx 包并将 xml 中的以下标签从底部移动到 xml 中的第 no:3 行并保存。

<DTS:Property DTS:Name="PackageFormatVersion">6</DTS:Property>

之后重建成功,没有任何错误。