Visual studio 如何集中XSD模式以供其他项目/解决方案使用?

Visual studio 如何集中XSD模式以供其他项目/解决方案使用?,visual-studio,xsd,nuget,biztalk,azure-logic-apps,Visual Studio,Xsd,Nuget,Biztalk,Azure Logic Apps,我们有Biztalk解决方案,我们正在转向逻辑应用程序。我们希望能够对规范模式进行版本控制,并使用Nuget或类似的包管理策略将其集中化 我们如何“打包”一个XSD模式,使我们能够从其他visualstudio解决方案中引用它 据我所知,当您创建Biztalk解决方案并构建和部署它时,它将GAC所有工件 我们如何模拟这种将工件(如XSD规范模式)集中/打包以供其他逻辑应用程序重用的功能?当BizTalk应用程序出现这种情况时,我的建议是……不要这样做。到目前为止,我还看不出有什么理由改变逻辑应用

我们有Biztalk解决方案,我们正在转向逻辑应用程序。我们希望能够对规范模式进行版本控制,并使用Nuget或类似的包管理策略将其集中化

我们如何“打包”一个
XSD
模式,使我们能够从其他visualstudio解决方案中引用它

据我所知,当您创建Biztalk解决方案并构建和部署它时,它将
GAC
所有工件


我们如何模拟这种将工件(如XSD规范模式)集中/打包以供其他逻辑应用程序重用的功能?当BizTalk应用程序出现这种情况时,我的建议是……不要这样做。到目前为止,我还看不出有什么理由改变逻辑应用程序的建议

因此,您绝对应该将正式的原始模式存储在一些源代码管理中,但每个“应用程序”都应该维护该模式的内部副本

在BizTalk Server和Azure集成帐户中,没有任何东西可以阻止您多次部署同一架构

特别是在LogicApps方面,集成帐户的作用与BizTalk应用程序的GAC相同

避免在多个应用程序中引用“中心”模式的原因是,在应用程序之间创建了巨大的依赖关系,除了共享一些规范资源之外,这些应用程序之间可能没有什么关系

因此,定义应用程序的边界非常重要。也就是说,采购应用程序与仓库应用程序完全不同,但它们可能共享一些内部采购订单格式,每个应用程序都有自己的内部采购订单、采购订单仓库和采购订单的副本

对于BizTalk,边界将是VS Solution->.msi->BizTalk应用程序。 对于逻辑应用程序,VS解决方案->ARM模板-资源组


“Canonical”仅是源代码模式。此外,“规范”资源的“好处”难以捉摸,它所产生的依赖性一直是一个更大的问题。

非常感谢您的回复。请您澄清一下,为什么您建议在本地为每个应用程序存储相同的模式?这与任何其他资源(如nuget软件包)有何区别?如果我们正在针对规范模式以及逻辑应用程序进行积极开发,我们如何管理在该模式的所有使用者之间更新模式?此外,逻辑应用程序如何知道它需要哪个版本的模式?开发人员如何知道哪个解决方案正在使用哪个版本的模式?这难道不会使“规范”的概念失效吗?如果应用程序具有相同“规范”模式的不同版本,它如何成为规范?