Получение MSBuild и CruiseControl .NET для создания и развертывания проектов баз данных VS2010

У меня почти есть сценарий NAnt, который будет создавать и развертывать проекты баз данных VS2010, но на моем пути стоит одна ошибка:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.TSqlTasks.targets(56,5): error MSB4062: The "SqlBuildTask" task could not be loaded from the assembly Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Could not load file or assembly 'Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [xxx]
Failed to start MSBuild.
External Program Failed: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe (return code was 1)

Я вижу, что сборки Microsoft.Data.Schema отсутствуют в MSIL GAC на сервере сборки - есть ли какой-нибудь чистый способ сделать это без полной установки VS2010 на сервере сборки?


person Brandon Linton    schedule 21.10.2010    source источник


Ответы (1)


Из любопытных я спросил Барклая Хилла из Microsoft, который ответил на это за меня:

Вы не можете создавать проекты баз данных на машинах, если на них не установлена ​​VS или TFS 2010. Это не поддерживаемый сценарий. Вы можете развернуть выходные данные сборки проекта базы данных без установленной VS / TFS с помощью vsdbcmd. Единственный способ сделать это и соответствовать условиям лицензирования и поддержки - установить локальную копию VS Pro или более поздней версии в вашем сборочном блоке, если не используется TFS.

person Brandon Linton    schedule 22.10.2010
comment
TFS великолепен. Но это НЕ ЕДИНСТВЕННЫЙ инструмент сборки. Мое правило - НЕ иметь VS200x или 201x в сборочной коробке. Так что все зависимости не скрыты ... (Не злюсь на тебя (Брэндон), конечно, спасибо за информацию.)) Microsoft помогает мне зарабатывать на жизнь, но, блин, время от времени они получают мои козел. PS Проголосуйте за ответ. - person granadaCoder; 04.04.2012