TFS生成下探额外的文件,包括目标文件夹中的csproj(TFS Build dropping ex

2019-10-19 23:58发布

我已经设置了从TFS构建定义,它发布了一个Web应用程序,并生成/运行自动生成过程通过发布作为在构建过程中定义的MSBuild参数传递型材成功执行数据库项目的脚本。 一切现在正在运行如预期,除了一些不必要的文件被部署到目标文件夹,其中包括的.csproj文件,所有的配置变换,并且其中包含了我所有的发布配置文件属性的文件夹。

这很奇怪,因为1.它绝对不是包括所有文件/文件夹,大多似乎包括像变换发布配置使用的,而运用正确的变换,但不包括任何明确排除的文件(如pubxml定义),和2 。这个过程是完美的,如果我通过在Visual Studio 2013年从项目发布做到这一点我必须配置为仅应用程序所需的包含文件的配置文件,我在的csproj文件证实,这个属性是存在的。

我试图排除的属性从pubxml文件部署文件夹,但是这会导致构建崩溃,因为它无法找到程序集文件。 我已经收集的是过程是保持它需要完成生成的所有文件,并删除所有这些文件在我的目标文件夹。 FWIW,我使用了“文件系统”的方法,我还没有确定,如果网络部署将有所作为。 我一直无法尚未连接到与网络部署目标服务器,但是这是要解决一个单独的问题。 有什么在构建我可以配置,使我的目标文件夹只需要运行的应用程序的文件,而不是构建应用程序所需的文件?

仅供参考我还没有使用投递文件夹了,我不知道是否有差别或没有,但可能是我没有测试过的唯一的事情似乎有必要它不会因为我使用的是publishprofile和不想使用默认的TFS构建配置。

Answer 1:

我发现,不够好,有效的解决方案,看完这个: http://www.asp.net/web-forms/tutorials/deployment/advanced-enterprise-web-deployment/excluding-files-and-folders-from-deployment这比我想丑一点的解决方案,因为它需要硬编码排除的文件的名称,但它的伎俩,只需要识别的文件和文件夹在一个位置,而不是改变每个目标环境发布配置文件。 我创建了一个wpp.targets文件和所使用的ExcludeFromPackageFolders和ExcludeFromPackageFiles元素,以确定额外的文件。 讽刺的是,如果我不还打着在排除元素wpp.targets文件,该文件包括在我的包。 这是可能的MSDeploy不TFS有相同的问题的文件系统,但花费半天试图通过一组不同的问题和解决方法权限的工作后,我们决定,文件系统是一个更清洁的发布方法。



文章来源: TFS Build dropping extra files including csproj in target folder