MSBuild ExecuteDDL не работает в .NET Framework 4.0 - PullRequest
0 голосов
/ 09 ноября 2010

Я перенес свой проект из .NET 3.5 в 4.0 и, следовательно, я использую MSBuild.exe из C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 вместо C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5. Это вызывает сбой задачи ExecuteDDL . Пожалуйста помоги. Ура, Nabin

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Задача ExecuteDDL из задач сообщества MSBuild использует сборку Microsoft.SqlServer.ConnectionInfo. Сборка загружается динамически, и она пытается загрузить следующие сборки в следующем порядке:

  • Microsoft.SqlServer.ConnectionInfo, версия = 10.0.0.0, культура = нейтральная, PublicKeyToken = 89845dcd8080cc91
  • Microsoft.SqlServer.ConnectionInfo, версия = 9.0.242.0, культура = нейтральная, PublicKeyToken = 89845dcd8080cc91

Таким образом, он пытается загрузить 10.0 (Sql Server 2008), затем 9.0 (Sql Server 2005). Если он не может найти ни одного из них, он терпит неудачу с исключением, которое вы получили.

Сервер Sql помещает их в GAC по умолчанию, поэтому сначала проверьте, есть ли они на вашем компьютере. Если это не решит вашу проблему, дайте мне знать. Я написал задание и получу от вас дополнительную информацию, и она будет работать.

Обновление

Поддержка Sql Server 2008 не была добавлена ​​до 03/2009, и, к сожалению, официальные версии старше этого. Возьмите ночную сборку с http://msbuildtasks.tigris.org/, в которой исправлено множество ошибок:

1 голос
/ 09 ноября 2010

"Не удалось загрузить файл или сборку" Microsoft.SqlServer.ConnectionInfo, версия = 9.0.242.0, "

Похоже, он ищет клиентские инструменты SQL Server 2005, они установлены?

...