如何访问编译到 BizTalk 项目中的 XSD 架构?

How to access an XSD schema compiled into a BizTalk project?

我正在尝试向项目添加一些测试,以确保我们的内部 BizTalk 模式继续正确(in)验证一些不符合我们业务规则的 XML 测试文件。

通常我会使用 XML 和 XSD 文件的路径,但是,因为 XSD 是 BizTalk 项目的一部分,而 BuildAction 是 "BtsCompile",文件不能设置为本地复制。我知道我可以使用源文件的路径(目前这对我有用),但是,这感觉像是一个 hack,因为路径可能会因不同的环境而改变,并且在某些情况下甚至可能不存在(例如: CI/CD).

如何按类型(例如:MyProject.Namespace.MySchema())或按 XML 命名空间(例如:http://myurl.com/schemas/MySchema)使用模式来验证示例 XML文件?

如果重要的话,我的模式在一个 BizTalk 项目中,我的测试在一个单独的单元测试项目中。我现在使用的是 Visual Studio 2013。

我要给你一个框架挑战在这里回答。

How to unit test an XSD schema...

你不知道。意思是,别费心了。 与在单元测试中捕获验证错误相比,您将花费更多的时间来设置单元测试。

为什么?因为如果验证错误导致实际的硬错误(情况并非总是如此),您仍然会有错误,您只是浪费了很多时间在单元测试而不是功能测试中找到它。

几年前单元测试很流行,直到每个人都意识到投资回报率通常是负数。