xsd.cs 文件是如何使用的?

How are the xsd.cs files used?

在biztalk项目中,为什么有的XSD文件有隐藏的xsd.cs有的没有?这些文件是做什么用的,为什么会这样,修改 XSD 和重建对修改 .cs 文件没有任何作用?

例如:我有一个 XSD 用于将消息映射到 SQL Send/Receive 端口并执行存储过程。如果我更改存储过程(比如更改、删除、添加参数)并因此更改 xsd 以匹配,除非我删除 xsd.cs,否则这些更改不会在我部署业务流程时反映出来。我可以在 BizTalk 管理控制台的架构选项卡中看到修改后的 xsd。我可以看到它已被修改,但我仍然会收到消息路由/映射错误,除非删除 .cs 并重新部署编排。顺便说一句,删除后,它似乎永远不会重新生成,但它也不会引起任何问题。

解决方案中的每个 xsd 都应该有一个 .cs 文件。如果您没有得到它们,那么您的解决方案有问题。它们是部署到 GAC 的架构的编译版本。如果 .cs 文件在您重新编译后没有被更改,那么您又遇到了问题。检查您是否不小心将 .cs 文件签入了源代码管理,它们现在是 read-only(不应签入)。

修改架构时,您需要同时更新 BizTalk 数据库和 GAC 中架构的版本。如果你不这样做,你会得到一些奇怪的结果。使用 Visual Studio 中的 Deploy 选项会自动为您执行此操作,但如果您手动部署,则必须确保它已导入并经过 GACed。

.cs 文件是为每个 BizTalk 工件生成的,这就是它们成为 .Net 类型的方式。

所有这些都应该由 Visual Studio 自动处理。如果您遇到仅删除 .cs 文件即可解决的问题,那么您的 VS 设置有问题。

注意,.cs 文件应该在源代码管理中。如果是,请将其删除。

但是,您描述的场景没有意义。您在 BT 管理中看到的内容来自 .cs 文件。