1

我在将TFS CI构建的输出指向非默认目录位置时遇到问题。 我有2个数据库项目与我们的大型.net项目集成。所有东西都建立起来,正如我们在本地PC上所期望的那样。在数据库项目sql/Debug或Release文件夹下,文件最终会在期望的位置出现。 在我们的TFS构建服务器上,项目构建并正确生成everthing,但它将所有数据库项目输出文件(.SQL,.schema等)转储到TFS输出目录的根目录中。因为有好几个项目似乎会导致这种情况发生,所以它变得非常混乱。我是否可以更改VS2010数据库项目的部署脚本的位置,从TFS CI构建

目前我只关心数据库项目。有没有一种方法来指定项目的部署或构建定义(或任何我没有想到看的地方)这些文件的输出位置?

感谢

回答

0

一个简单的方法做,这是创建一个运行在编译过程结束MSBuild项目。

创建名为DropTidy.Proj的文件,然后添加如下内容。

<Project DefaultTargets="CopySQLReleaseFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5"> 

    <Target Name="CopySQLReleaseFiles"> 

    <ItemGroup> 
     <SqlBuildOutput Include="$(OutDir)\*.sql" /> 
    </ItemGroup> 

    <Copy SourceFiles="@(SqlBuildOutput)" DestinationFolder="$(OutDir)\SQL" /> 

    </Target> 

</Project> 

上述示例将所有带有“sql”扩展名的文件复制到名为“SQL”的文件夹中。 $(OutDir)是团队构建使用的工作文件夹,它与构建代理上的构建工作区中的“Binaries”文件夹相关联

将文件检入TFS,然后将其添加到“要构建的项目”列表中在团队建设过程中。确保它是列表中的最后一个“解决方案”,以便它在构建中的其他解决方案之后运行。还要确保你检查了proj文件的文件夹是你的构建工作区的一部分。

运行你的构建,你应该在你的放置位置看到一个名为SQL的新文件夹。

相关问题