【问题标题】:Microsoft Access automated build hangs at creation of .ACCDEMicrosoft Access 自动生成在创建 .ACCDE 时挂起
【发布时间】:2015-01-05 16:48:13
【问题描述】:

我正在尝试自动构建源代码控制的 MS Access 应用程序(它只是前端,后端是 SQL Server)。 Access 客户端通过 ClickOnce 通过简单的 C# 控制台应用程序发布给用户...在该控制台项目中,我还通过来自此 CodePlex 库的自定义 msbuild 任务构建 MS Access 应用程序:https://buildmsaccessdb.codeplex.com/(即在另一个 StackOverflow post on the subject 中也提到过。在我的机器上,一切正常。 Access 源代码被编译成 ACCDB,然后转换成 ACCDE,这是包含在已发布应用程序中的内容。

但是,当我在 TFS 中自动构建它时,它总是在将 ACCDB 转换为 ACCDE 的步骤中停止。我尝试了多种方法来执行“Make ACCDE”(SysCmd 603)命令。我已经在 powershell 脚本、VBA 等中尝试过它......但它似乎总是停滞不前。那是因为自动构建过程不是交互式过程,也许 SysCmd 603 需要交互式运行?如果我停止构建并查看 ACCDB,一切都很好。可以编译,也可以手动编译成ACCDE……所以并不是说ACCDB不能编译。

我想将其作为交互式 TFS 服务进行测试,但我无法控制其运行的服务帐户。

欢迎任何有关建议的提示,并在此先感谢!我们已经完成了整个自动化构建和发布过程,除了这一块之外几乎可以正常工作!

【问题讨论】:

    标签: vba ms-access tfs com msbuild


    【解决方案1】:

    我对 MSBuild 任务库了解不多,但从快速查看源代码来看,它似乎打开了 Access 以运行任务并在某一时刻与对话框交互。如果是这种情况,您肯定需要在交互模式下运行构建。

    您的构建挂起且未出错的事实也表明情况确实如此。

    即使您不控制服务帐户,我也认为您的组织中还有其他人可以控制。我建议您与他们合作并尝试以交互模式构建并确保其正常工作。如果需要,您始终可以设置第二台以交互模式运行的构建机器,而当前构建服务器仍处于“作为服务运行”模式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多