我们正在使用ASP.Net模板构建VSTS。我们将MSBuild参数传递如下 -
/ P:DeployOnBuild =真 / P:WebPublishMethod =封装 / P:PackageAsSingleFile =真 / P:SkipInvalidConfigurations =真 / P:PackageLocation =" $(build.artifactstagingdirectory)\"
我们看不到构建错误。从日志中我们观察到一条线 -
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_compiler.exe -v / LRM -p .. \ LRM \ -u -f -d PrecompiledWeb \ LRM \
其中LRM是我们正在构建的.NET sln名称。这个sln包含多个项目以及LRM网站。
在构建管道的末尾,我们看不到生成的工件。我们在" Publish Build Artifacts"说 -
2018-01-03T06:07:47.9208838Z ## [警告]目录' D:\ VSTS代理商\ DEV-QAS \ A1 \ 66 \ a'是空的。什么都不会被添加到构建工件' drop'。
答案 0 :(得分:3)
使用以下作为msbuild参数(/p:OutDir="$(build.stagingDirectory)“是差异)
/p:TransformConfigFiles=true /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:OutDir="$(build.stagingDirectory)"
如果您只想要网站输出,请使用发布任务路径发布为“$(build.stagingDirectory)\ _ PublishedMbsites”。如果staging目录中的所有文件都需要使用“$(build.stagingDirectory)”作为发布路径
答案 1 :(得分:0)
我不知道原因,但也许这套替代的MSDeploy目标MSBuild参数将被证明是一种解决方法。
/p:SkipInvalidConfigurations=true /p:DeployTarget=Package /p:PackageTempRootDir="$(Build.ArtifactStagingDirectory)"
答案 2 :(得分:0)
这是网站,因此您无法将其作为Web应用程序发布。
首先,由于 ChamindaC 表示您可以指定 OutDir 参数,但它不会生成Web部署包,您可以将文件夹存档到zip存档任务。 (注意:值应为/p:OutDir="$(build.stagingDirectory)\\"
)
其次,一旦创建发布配置文件(右键单击网站>发布Web应用程序),它就可以生成 publishproj 文件。因此,您可以使用MSBuild Arguments在 Visual Studio Build 或 MSBuild 任务中指定该文件,以将网站发布到Web部署包。
答案 3 :(得分:0)