3

我在 BizTalk 2010 中有一个使用自定义 XSLT 路径文件的地图。

在 Visual Studio 中对 .xsl 文件中的转换进行更改后,我使用内置工具测试地图文件(右键单击 .btm 文件并选择Test Map)。

这一切都按预期工作,并在 Visual Studio 中生成所需的输出文件。

但是,在将程序集部署到 BizTalk 时,我发现我的任何转换更改都没有反映出来。重新启动主机实例、终止活动实例等都无法解决问题。

为什么我的更改不能进入 BizTalk?

4

3 回答 3

5

同意这是 Visual Studio 中的一个烦恼。

最适合我的是在地图项目上“显示所有文件”以便.btm.cs文件可见,然后删除.btm.cs与已更改的地图关联的那些文件。然后重建将强制 VS 重新生成.btm.cs文件并拉出新的 xslt。

于 2013-03-02T06:11:34.177 回答
1

BizTalk 映射文件本身 (.btm) 是被编译的。更改转换时,实际上只编辑了 .xsl 文件,因此 Visual Studio 没有意识到需要重新编译程序集。

要解决此问题,您需要确保 .btm 文件也被编辑。这将迫使全部重新编译。

BizTalk 2009中,只需打开 .btm 文件并点击Ctrl+S来保存地图似乎就可以解决问题,因为它会更新文件底层 XML 中的时间戳。

但是,在BizTalk 2010中,这似乎不起作用,因为时间戳不再存在。似乎强制重新编译的最简单方法是删除对自定义 .xsl 文件的引用,然后再次将其重新添加,如本博客评论中所建议的那样。

还有一个建议是执行重建可以解决问题,但我个人并没有用这种方法取得任何成功。

于 2013-03-01T11:20:26.730 回答
0

在 BizTalk 2010 中,您只需将路径重新粘贴到要在地图属性窗口的自定义 XSLT 路径中使用的 XSLT。即使您使用与以前相同的文件,这似乎也算作一次触摸。

于 2013-07-24T15:33:46.220 回答