BizTalk 2010 - 找不到文件'Microsoft.BizTalk.TOM.resources

时间:2012-11-23 17:19:01

标签: tfs tfs2010 biztalk

我有一个VS2010 TFS Build服务器,配置了一个用于连续配置的构建定义集。

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

事实证明,Microsoft.BizTalk.TOM.dll是一个随BizTalk一起安装到以下文件夹中的.Net 2 dll:

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

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

我根据围绕同一问题的3个不同博客帖子尝试了以下内容:

  1. 包含对dll的引用并将copylocal设置为true
  2. 将程序集添加到.Net 2 GAC
  3. 从“测试设置”对话框/“部署”选项卡
  4. 中将程序集添加到“要部署的其他文件”列表中
  5. 将程序集添加到“测试设置”对话框/“单元测试”选项卡中的“运行测试时要使用的文件夹”列表中
  6. 测试失败后,检查\ TestResults \ Out文件夹。我可以看到Microsoft.BizTalk.TOM.dll已被复制到这里。

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

    我可以尝试下一步的想法吗?

1 个答案:

答案 0 :(得分:2)

我在文件夹中找到了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

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