2

我正在构建和发布一个 Web 项目,这是一个大型解决方案。我从一个由 TeamBuild 进程调用的 cmd 文件启动 msbuild.exe:

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

这很好用,但问题是,“..\..\..\..\bin\xxx.Project1”中名为“Archive”的文件夹变得很长。我必须点击 16 个子文件夹,直到我进入真正的 Web 文件,如 Web.config 等。在存档文件夹下是子文件夹,它们似乎代表了临时放置文件夹的孔文件夹结构,其中首先创建了用于发布的文件:

...\Archive\Content\D_C\Builds\9\TeamProjectName\BigProject\Sources\BigProject\Main\Source\SolutionName\ProjectName\obj\Release\Package\PackageTmp\bin

最后在 PackageTemp 下,我找到了我的 Web 文件。真正的问题是,某些文件的文件夹名称变得很长 - 所以我无法正确删除它们并且 TeamBuild 崩溃,因为它无法在编译和执行计算机操作之前清空 Builds-Folder。

最好有一个选项,我可以告诉 msbuild.exe(或者可能在项目设置中)它应该在哪里转储 WebProject 文件(我的意思是文件夹:App_Code、bin、配置;文件: global.asax、一些 xamlx 和 Web.config)

那么 - 如何将 WebProject 数据拖放到另一个指定路径?

此致

塞巴斯蒂安

4

1 回答 1

1

问题是错误的 MSBuild.exe 命令。我现在使用这个,它只将 Web 服务部署到特定的本地文件夹,而不需要任何 IIS:

MSBuild.exe /target:Build;PipelinePreDeployCopyAllFilesToOneFolder /p:Configuration=Release;_PackageTempDir=%binfolder% "projectfile.csproj" 

它也不做这个长文件夹名称的东西。

于 2012-06-21T08:43:40.200 回答