我已经研究了两天,不知道为什么会出现这种情况,现在我已经没有任何想法了。
以下是我的构建脚本的一部分,它在升级之前一直在运行。
<MSBuild
Projects="$(SolutionRoot)\My.Web\My.Web.csproj"
Properties="MvcBuildViews=False;AllowUntrustedCertificate=True;AuthType=Basic;Configuration=Dev;CreatePackageOnPublish=True;DeployIisAppPath=dev.myweb;DeployOnBuild=True;DeployTarget=MsDeployPublish;MSDeployPublishMethod=WMSvc;MsDeployServiceUrl=https://10.xxx.xxx.xxx:8172/MsDeploy.axd;UserName=UserName;Password=Password;UseMsdeployExe=True"
ContinueOnError="False"
/>
当升级开始并发现我的问题时,我们正在使用Web Deploy 2.0,但现在我们已经升级到Web Deploy 3.0。我还确保我们正在使用
ToolsVersion="4.0"
进行构建。更新--
msbuild.exe /p:AllowUntrustedCertificate=True /p:AuthType=Basic /p:Configuration=Dev /p:CreatePackageOnPublish=True /p:DeployIisAppPath=dev.myweb /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:MSDeployPublishMethod=WMSvc /p:MsDeployServiceUrl=https://10.xxx.xxx.xxx:8172/MsDeploy.axd /p:UserName=UserName /p:Password=Password /p:UseMsdeployExe=True E:\Builds\1\WhatEver\Daily_Build\Sources\My.Web\My.Web.csproj
现在,我也尝试从我们的TFS运行上述msbuild命令,但没有响应,这让我完全沮丧。无论详细程度如何,都没有任何东西在TFS的事件日志中,也没有日志文件...有什么想法吗?
直接使用msdeploy像下面这样是有效的;
<Exec Command=""C:\Program Files\IIS\Microsoft Web Deploy V3\MSDeploy.exe" -verb:sync -source:contentPath="E:\Builds\1\WhatEver\Daily_Build\Sources\My.Web\My.Web.csproj" -dest:contentPath="E:\dev.my.web",computername=https://10.xxx.xxx.xxx:8172/MsDeploy.axd,username=UserName,password=Password,authtype=Basic -allowUntrusted=True"
ContinueOnError="false" />
--
更新2 -- 似乎微软增加了一项检查,以确定哪些项目是可发布的项目,而我们的Web应用程序不是,因为输出类型为类库。这在v4.0中是有效的,但显然在v4.5中不再行得通。
有没有想法让它重新工作?我需要改变项目类型吗?预先创建发布包,然后部署它?还是其他什么方法?
--
还有其他人遇到过同样的问题吗?你找到了解决方案可以分享吗?
MSBuild的版本可能存在问题吗?
msdeploy.exe
的调用? - Richard Szalay