【发布时间】:2014-06-10 10:09:54
【问题描述】:
我有一个自动构建过程设置为从 TFS 中的构建定义运行,它发布 Web 应用程序并通过在构建过程定义中作为 msbuild 参数传递的发布配置文件成功生成/执行数据库项目脚本。现在一切都按预期运行,除了几个不必要的文件被部署到目标文件夹,包括 .csproj 文件、所有配置转换和包含我所有发布配置文件的属性文件夹。
这很奇怪,因为 1. 它绝对不包括所有文件/文件夹,而且大多数似乎包括发布配置文件使用的文件/文件夹,如转换,同时正确应用转换并排除任何明确排除的文件(如 pubxml 中所定义) , 和 2. 如果我通过从 Visual Studio 2013 中的项目发布来完成此过程,则该过程完美运行。我将配置文件配置为仅包含应用程序所需的文件,并且我已在 csproj 文件中确认此属性存在.
我尝试在 pubxml 文件中从部署中排除属性文件夹,但这会导致构建崩溃,因为它找不到程序集文件。我收集到的是,该过程保留了完成构建所需的所有文件,并将所有这些文件放在我的目标文件夹中。 FWIW,我正在使用“文件系统”方法,但我不确定 web 部署是否会有所作为。我还不能通过 web 部署连接到目标服务器,但这是一个需要解决的单独问题。我可以配置构建中的某些内容,以便我的目标文件夹仅包含运行应用程序所需的文件,而不包含构建应用程序所需的文件?
仅供参考,我也没有使用放置文件夹,我不确定这是否会有所不同,但这可能是我唯一没有测试过的东西,因为我正在使用它似乎没有必要发布配置文件并且不想使用默认的 tfs 构建配置。
【问题讨论】:
标签: msbuild visual-studio-2013 tfsbuild