2012-01-17 4 views
0

Можно ли указать (или переопределить) Deploy ApplicationName, сервер базы данных и имя базы данных для проектов BizTalk? Если да, то как?MSBuild и BizTalk

К сожалению, эти данные хранятся в файле btproj.user вместо файла .btproj, и мой клиент не хочет проверять файлы btproj.user в исходной системе управления.

(FYI - мы используем BizTalk Построить генератор из CodePlex.)

ответ

2

Я только что рассмотрели источник на CodePlex. Когда я все правильно понял, они генерируют

%AppName%.Custom.targets 
%AppName%.Custom.properties 

файлы. В свойствах файла некоторые свойства перечислены для БТСОВ подключения к базе данных

<BizTalkDatabaseServerName>.</BizTalkDatabaseServerName> 
<BizTalkManagementDatabaseName>BizTalkMgmtDB</BizTalkManagementDatabaseName> 
<BizTalkManagementDatabaseConnectionString> 
server=$(BizTalkDatabaseServerName); 
database=$(BizTalkManagementDatabaseName); 
integrated security=sspi; 
</BizTalkManagementDatabaseConnectionString> 
<PipelineComponentsFolderPath>C:\Program Files\Microsoft BizTalk Server 2010\Pipeline Components</PipelineComponentsFolderPath> 

Вы можете легко переопределить эти значения объектов, используя командную строку или путем добавления дополнительных аргументов MSBuild в VS или TeamBuild используя свойство переключения

msbuild.exe MyBizTalkProject.proj /p:BizTalkDatabaseServerName=SqlCluster 

разработчик этого проекта должен переписать файл в MSBuild.Custom.properties по умолчанию, чтобы выглядеть следующим образом

<BizTalkDatabaseServerName Condition="'$(BizTalkDatabaseServerName)'==''">.</BizTalkDatabaseServerName> 

используя это pproach ". идентификатор (для локального SQL Server) будет использоваться, только если значение параметра не задано. Потому что с текущей реализацией определение свойства может! переопределите значение, переданное из командной строки. Поэтому имейте это в виду.