Проблема с TFS CI в пакете служб SSIS - PullRequest
6 голосов
/ 16 ноября 2011

Сборка началась 16/11/2011 9:24:11. Проект "C: \ Builds \ 1 \ NetTellerMigration \ NetTellerMigrationBuild \ Sources \ blah.sln" на узле 1 (цели по умолчанию). ValidateSolutionConfiguration: Конфигурация строительного решения «Разработка | По умолчанию». MSBUILD: предупреждение MSB4078: Файл проекта "blah \ blah.dtproj" не поддерживается MSBuild и не может быть собран. [C: \ Строит \ 1 \ NetTellerMigration \ NetTellerMigrationBuild \ Sources \ blah.sln] Готово Создание проекта "C: \ Builds \ 1 \ NetTellerMigration \ NetTellerMigrationBuild \ Sources \ blah.sln" (цели по умолчанию).

Сборка прошла успешно.

"C: \ Builds \ 1 \ NetTellerMigration \ blahBuild \ Sources \ blah.sln" (цель по умолчанию) (1) -> (цель blah_b) -> MSBUILD: предупреждение MSB4078: Файл проекта "blah \ blah.dtproj" не поддерживается MSBuild и не может быть собран. [C: \ Строит \ 1 \ NetTellerMigration \ NetTellerMigrationBuild \ Sources \ blah.sln]

1 Warning(s)
0 Error(s)

прошедшее время 00: 00: 00.42

В настоящее время у меня установлен tfs2010 с SqlExpress, и я безуспешно пытаюсь реализовать непрерывную интеграцию с пакетом служб SSIS. Моя цель - создать сборку, запускаемую проверкой кода. У меня есть определение сборки для doso, но показанное выше предупреждение отображается, и файлы '.dtsx' не копируются в каталог сборки?

Я считаю, что это как-то связано с агентом сборки, нацеленным на v4 .net framework, но я могу ошибаться. Во всяком случае, любая помощь будет высоко оценена всеми, кто сталкивался с этой проблемой раньше.

Ответы [ 2 ]

6 голосов
/ 16 ноября 2011

MSBuild не может создавать проекты служб SSIS (.dtproj), потому что формат этих проектов предшествует VS2010. Лучшее, что можно сделать здесь - это использовать оболочку MSBuild для проекта SSIS. Вы можете создать пустой проект C # для этого. Затем откройте файл .csproj для нового проекта в текстовом редакторе и установите для цели BeforeBuild следующее:

<Target Name="BeforeBuild">
  <!-- Build the analysis SSIS project -->
  <Exec Command="&quot;$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\@InstallDir)\devenv.exe&quot; blah\blah.dtproj /Build" />
</Target>

Настройте путь blah / blah.dtproj для вашего проекта. Это запустит версию devenv VS2008 для построения проекта SSIS.

Ниже приведен пример того, как может выглядеть весь файл .csproj:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Build">
   <PropertyGroup>
      <OutputPath>Bin</OutputPath>
   </PropertyGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Target Name="BeforeBuild">
      <!-- Build the analysis SSIS project -->
      <Exec Command="&quot;$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\@InstallDir)\devenv.exe&quot; blah\blah.dtproj /Build" />
  </Target>
</Project>
0 голосов
/ 10 мая 2012

Мне пришлось немного настроить свою цель, чтобы она заработала:

<Target Name="BeforeBuild">
<!-- Build the analysis SSIS project -->
<Exec Command="&quot;$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\@InstallDir)devenv.exe&quot; &quot;$(SolutionPath)&quot; /Build &quot;Release|Any CPU&quot; /project projectFileName.dtproj" />
</Target>
...