我正在使用 BizTalk 服务器部署框架(当然很多 Biztalkers 都这样做)来生成特定于环境的绑定。当我将解决方案部署到新环境时,我正在手动设置发送端口/接收位置的连接字符串和 URL。然后我正在导出绑定文件并手动将 Xpath 写入在此环境中更改为 SettingFileGenerator.xml 的值。
这是一项非常常规的工作,我问是否有一种“智能”(自动)方式来比较我的默认绑定和某些特定环境的绑定,以将 Xpath 提取为不同的值?
我正在使用 BizTalk 服务器部署框架(当然很多 Biztalkers 都这样做)来生成特定于环境的绑定。当我将解决方案部署到新环境时,我正在手动设置发送端口/接收位置的连接字符串和 URL。然后我正在导出绑定文件并手动将 Xpath 写入在此环境中更改为 SettingFileGenerator.xml 的值。
这是一项非常常规的工作,我问是否有一种“智能”(自动)方式来比较我的默认绑定和某些特定环境的绑定,以将 Xpath 提取为不同的值?
对,那是正确的。您可以在 excel 中打开 settingsfileGenerator.xml,并可以在最左侧的列中添加任意数量的变量,并在特定环境列中添加它们的值。在主绑定文件中使用 ${variable_name},其中 variable_name 与您在 excel 最左侧列中输入的值相同。
在您的 btdf proj 文件中您应该在 PropertyGroup 中添加以下属性,如果还没有的话
<RequireXmlPreprocessDirectives>False</RequireXmlPreprocessDirectives>
<IncludeMessagingBindings>True</IncludeMessagingBindings>
<UsingMasterBindings>True</UsingMasterBindings>
请注意,这是基于 BTDF 5.0 版
在您的 InstallWizard.xml 文件中,确保您定义了一个 ENV_SETTINGS 环境变量,MSI 将使用该环境变量在替换绑定文件中的变量之前选择特定的环境 xml
<SetEnvUIConfigItem>
<PromptText>Select the XML file that contains configuration information specific to this environment:</PromptText>
<PromptValue></PromptValue>
<ValueType>FileSelect</ValueType>
<EnvironmentVarName>ENV_SETTINGS</EnvironmentVarName>
</SetEnvUIConfigItem>
除了 Vikas Bhardwaj 的回答,如果您采用 BTDF(Biztalk 部署框架)方式,您可以使用此基于 Web 的实用程序(http://bbiztalk.com/?page_id=31)生成/更新 PortBindingsMaster.xml 文件 - 您将需要提供您导出的绑定(来自 Biztalk 管理)和 SettingsFileGenerator.xml 作为输入。