带有SSIS包的TFS CI问题

Chr*_*sto 6 continuous-integration ssis bids tfs2010

Build build 16/11/2011 9:24:11 AM 节点1上的项目"C:\ Builds\1\NetTellerMigration\NetTellerMigrationBuild\Sources\blah.sln"(默认目标).ValidateSolutionConfiguration:构建解决方案配置"开发|默认".MSBUILD:警告MSB4078:MSBuild不支持项目文件"blah\blah.dtproj",无法构建.[C:\构建\ 1\NetTellerMigration\NetTellerMigrationBuild \源头\ blah.sln]完成建筑项目 "C:\构建\ 1\NetTellerMigration\NetTellerMigrationBuild \源头\ blah.sln"(缺省目标).

构建成功.

"C:\构建\ 1\NetTellerMigration\blahBuild的\ Sources\blah.sln"(默认目标)(1) - >(blah_b目标) - > MSBUILD:警告MSB4078:项目文件 "嗒嗒\ blah.dtproj" 不由MSBuild支持,无法构建.[C:\构建\ 1\NetTellerMigration\NetTellerMigrationBuild \源头\ blah.sln]

1 Warning(s)
0 Error(s)
Run Code Online (Sandbox Code Playgroud)

时间流逝00:00:00.42

我目前使用SqlExpress安装了tfs2010,并尝试'不成功'来实现针对SSIS包的持续集成.我的目标是创建一个由代码签入触发的构建.我有一个doso的构建定义,但显示上面显示的警告,没有'.dtsx'文件被复制到构建目录?

我认为它与.net框架的v4的构建代理有关,但我可能是错的.无论如何,任何以前遇到此问题的人都会非常感激.

Bre*_*ell 6

MSBuild无法构建SSIS项目(.dtproj),因为这些项目的格式是VS2010之前的版本.这里最好的办法是让MSBuild shell进入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>
Run Code Online (Sandbox Code Playgroud)

调整项目的blah/blah.dtproj路径.这将运行VS2008版本的devenv来构建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>
Run Code Online (Sandbox Code Playgroud)