我有一个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个不同博客帖子尝试了以下内容:
测试失败后,检查\ TestResults \ Out文件夹。我可以看到Microsoft.BizTalk.TOM.dll已被复制到这里。
当我检查开发服务器上的等效文件夹时,我看不到构建服务器上没有的任何文件。
我可以尝试下一步的想法吗?
答案 0 :(得分:2)
我在文件夹中找到了Microsoft.BizTalk.Tom.dll的副本:C:\ Users \ tfs_service \ AppData \ Local \ assembly \ dl3 \ randomname \
经过研究,事实证明这是存储装配体的“卷影副本”的地方:what is cache AppData\Local\assembly\dl3?
我想知道为什么会制作卷影副本以及如何防止它,我想在我的情况下应用程序域是MsTest?
我删除了影子副本并从GAC中卸载了,因此我只留下了以下文件夹中的副本:
删除卷影副本并重新启动服务器后,测试现在可以成功运行。