【问题标题】:BizTalk 2010 - Could not find file 'Microsoft.BizTalk.TOM.resourcesBizTalk 2010 - 找不到文件'Microsoft.BizTalk.TOM.resources
【发布时间】:2012-11-23 17:19:01
【问题描述】:

我有一个 VS2010 TFS 构建服务器,配置了构建定义集以进行连续配置。

对于我的 BizTalk 2010 解决方案,我有 200 多个测试。这些测试在我的开发盒上运行正常,但在构建服务器上,对于处理平面文件的测试,我收到错误“无法找到 Microsoft.BizTalk.Tom.resources”。我的猜测是这是一个包含在程序集中的资源文件 Microsoft.BizTalk.TOM.dll 虽然我使用了反射器并且看不到资源。

原来 Microsoft.BizTalk.TOM.dll 是一个 .Net 2 dll,它与 BizTalk 一起安装到以下文件夹中:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies

我检查了构建服务器并确认该程序集存在于上述文件夹中。

根据围绕同一问题的 3 篇不同的博客文章,我尝试了以下方法:

  1. 包含对 dll 的引用并将 copylocal 设置为 true
  2. 将程序集添加到 .Net 2 GAC
  3. 从“测试设置”对话框/“部署”选项卡将程序集添加到“要部署的其他文件”列表中
  4. 从“测试设置”对话框/“单元测试”选项卡将程序集添加到“运行测试时使用的文件夹”列表中

测试失败后,我检查 \TestResults\Out 文件夹。可以看到这里复制了Microsoft.BizTalk.TOM.dll。

当我检查开发服务器上的等效文件夹时,我没有看到构建服务器上不存在的任何文件。

请问有什么我可以尝试的想法吗?

【问题讨论】:

    标签: tfs biztalk


    【解决方案1】:

    我在以下文件夹中找到了 Microsoft.BizTalk.Tom.dll 的副本:C:\Users\tfs_service\AppData\Local\assembly\dl3\randomname\

    经过研究,发现这是存储程序集“影子副本”的位置:what is cache AppData\Local\assembly\dl3?

    我想知道为什么要制作卷影副本以及如何防止它,我猜在我的情况下应用程序域是 MsTest?

    我删除了卷影副本并从 GAC 中卸载,因此我只剩下以下文件夹中的副本:

    • C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies
    • C:\Program Files (x86)\Common Files\Microsoft BizTalk

    删除卷影副本并重新启动服务器后,测试现在可以成功运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-26
      • 2021-04-28
      • 2014-01-15
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多