0

我们为 SSDT DACPAC 项目构建了 Azure DevOps Pipeline,设置为在持续集成上运行。它已经运行了几年,我们定期随机看到以下错误导致构建失败:

Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryException: Version store out of memory (cleanup already attempted)
   at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err)
   at Microsoft.Isam.Esent.Interop.Api.JetUpdate(JET_SESID sesid, JET_TABLEID tableid, Byte[] bookmark, Int32 bookmarkSize, Int32& actualBookmarkSize)
   at Microsoft.Isam.Esent.Interop.Update.Save(Byte[] bookmark, Int32 bookmarkSize, Int32& actualBookmarkSize)
   ...

到目前为止,我们的解决方法是重新排队一个新的构建。99% 的时间可以解决问题。直到今天。现在,我连续 3 次将新的 CI 构建排队,每次它都因相同的异常而失败。该项目在本地构建,因此管道构建过程存在一些问题。

是否可以在我们的 MSBuild Pipeline 构建过程中进行一些修复以消除此错误?

4

2 回答 2

0

使用“/p:Storage=File”,这将使用更少的内存

于 2019-05-22T20:59:28.873 回答
0

添加/p:CmdLineInMemoryStorage=true到管道构建任务的 MSBuild 参数为我解决了这个问题。至今。

我发现了许多类似错误和修复的参考资料,但没有一个完全与针对 SSDT 的 Azure DevOps Pipeline 构建有关。

看:

于 2019-05-22T21:05:52.203 回答