我们有两个Web项目的解决方案:
解决方案->
-专案1
-项目2
我们在VSTS中具有一个CI,用于构建和创建程序包(人工压缩文件)。
当我们在解决方案中添加第二个项目时,工件只有一个项目。在VSTS中检查日志,我们已经看到以下几行:
2018-08-21T13:27:55.6971077Z CleanWebsitesPackageCore:
2018-08-21T13:27:55.6971269Z Deleting file "D:\a\1\a\20180821.17.zip".
2018-08-21T13:27:55.6997562Z CleanWebsitesPackage:
2018-08-21T13:27:55.6997903Z Deleting file "D:\a\1\a\20180821.17.SourceManifest.xml".
2018-08-21T13:27:55.7002478Z Deleting file "D:\a\1\a\20180821.17.deploy.cmd".
2018-08-21T13:27:55.7006495Z Deleting file "D:\a\1\a\20180821.17.deploy-readme.txt".
2018-08-21T13:27:55.7009652Z Deleting file "D:\a\1\a\20180821.17.SetParameters.xml".
2018-08-21T13:27:55.7022918Z ValidateGlobalPackageSetting:
2018-08-21T13:27:55.7023199Z $(PackageAsSingleFile) is true
2018-08-21T13:27:55.7023978Z $(PackageFileName) is D:\a\1\a\20180821.17.zip. Validating...
2018-08-21T13:27:55.7028185Z CollectFilesFromIntermediateAssembly:
似乎VSTS在完成第一个项目时,请删除zip文件,然后启动下一个项目。
我找到了定义目标项目名称的解决方法(定义-t):
/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\$(Build.BuildNumber).zip" /p:DeployIisAppPath="Web Site" /p:ProductsToRelease="Frontend" /t:Frontend\Frontend
如果我在计算机上执行了msbuild,则zip文件中包含两个项目,但VSTS中不起作用。
是否有任何配置可以避免删除目标(CleanWebsitesPackageCore)?
答案 0 :(得分:1)
在我的.sln中,我有4个csproj,应该添加到webapp.zip中。
在其中两个项目中,这导致CleanWebsitesPackageCore被调用,从而导致您遇到相同的问题。
我通过将以下空目标添加到两个有问题的csproj文件的底部来“修复”,该文件覆盖了正常的清理功能:
<Target Name="CleanWebsitesPackageCore"/>
<Target Name="CleanWebsitesPackage"/>