TFS 2010 - 如何根据环境排除特定文件进行部署?

4
在使用VS 2010和TFS 2010时,有没有一种方法可以根据我部署的环境来从构建定义/部署中排除某些文件?
这样做的主要目的是在开发/ QA 部署中排除 robots.txt 文件,但在生产环境中保留该文件。
注意:我已经设置了Web.config,使用Web.config变换来为不同的环境设置不同的配置,但这是我迄今为止找到的唯一“特定于环境”的内容。

你是如何部署的?你有开发/测试/生产域名,还是所有东西都在同一个域名下?例如,我们使用Wix打包代码,并为开发、测试和生产环境设置不同的域名。这样,我们就可以打包不同版本的文件,比如配置文件dev.web.config/prod.web.config等。由Wix生成的MSI将根据安装程序所在的域名来部署适当的文件。 - James Reed
谢谢回复 - 我们正在使用构建定义文件(右键单击,部署)将其部署到远程服务器。现在只有一个域名(这是一个测试环境)。我以前从未使用过wix。它看起来很有前途,但我也无法想象TFS中没有内置此功能。 - dah97765
为什么你不想在开发/测试环境中使用robots.txt文件? - Betty
2个回答

0
您可以添加 部署 项目,然后如果您想要排除某些文件不被包含在部署中,您可以使用 ExcludeFromBuild 项。
<ItemGroup>
<!-- Use the ExcludeFromBuild item to exclude files from being deployed -->
<ExcludeFromBuild
Include="$(SourceWebPhysicalPath)\WebApplication1.csproj" />
<ExcludeFromBuild
Include="$(SourceWebPhysicalPath)\WebApplication1.csproj.user" />
<ExcludeFromBuild
Include="$(SourceWebPhysicalPath)\CustomOut\**\*" />
<ExcludeFromBuild
Include="$(SourceWebPhysicalPath)\**\.svn\**\*" />
</ItemGroup>


<PropertyGroup>
<!-- Customize output location using the OutputPath property -->
<OutputPath>

0
你在使用什么工具来打包文件?
同时,并不是最好的解决方案,但是如果环境是开发/测试,您可以始终编写一个自定义活动,在您的部署生成定义中删除robot.txt文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接