我正在构建和发布一个单一的Web项目,这是一个很大的解决方案。 我从cmd文件启动msbuild.exe,该文件由TeamBuild进程调用:
c:\Windows\Microsoft.NET\Framework64\v4.0.30319 MSBuild.exe /p:Configuration=Release /p:DeployOnBuild=True /p:CreatePackageOnPublish=true /T:Package "%~dp0%xxx.Project1.csproj"
在Web部署包设置下的project1.csproj的项目设置中:
将创建包的位置:$(SourcesDirectoryOfProject)\ .. \ .. \ .. \ .. \ bin \ xxx.Project1
这非常有效,但问题是,该文件夹名为" Archive" in" .. \ .. \ .. \ .. \ bin \ xxx.Project1"变得很长。我必须单击16个子文件夹,直到我在实际的Web文件,如Web.config等。 Archive文件夹下的子文件夹似乎代表临时drop文件夹的hole文件夹结构,其中首先创建用于发布的文件:
...\Archive\Content\D_C\Builds\9\TeamProjectName\BigProject\Sources\BigProject\Main\Source\SolutionName\ProjectName\obj\Release\Package\PackageTmp\bin
最后在PackageTemp下我找到了我的Web文件。与真正的问题是,对于某些文件foldernames成为长 - 所以我不能正确地删除它们和TeamBuild崩溃,因为它不能编译和做电脑的东西之前清空构建-文件夹
最好的办法是有一个选项在那里我可以告诉msbuild.exe(或者在项目的设置),它应该转储文件WebProject( - 我指的是文件文件夹:App_Code文件,垃圾桶,配置;文件:global.asax,一些xamlx和Web.config)
那么 - 如何将WebProject数据放到另一个指定路径?
祝你好运
塞巴斯蒂安
答案 0 :(得分:1)
问题是错误的MSBuild.exe命令。我现在使用这个,它只将Web服务部署到特定的本地文件夹,而不需要任何IIS:
MSBuild.exe /target:Build;PipelinePreDeployCopyAllFilesToOneFolder /p:Configuration=Release;_PackageTempDir=%binfolder% "projectfile.csproj"
它也没有这么长的文件夹名称。