我正在使用 Jenkins 构建和打包 ASP.NET 项目。一切正常,直到我尝试运行打包过程输出的
<ProjectName>.deploy.cmd
文件
无论我运行
deploy.cmd
还是直接运行msdeploy.exe
都会输出这个错误
显然缺少的方法是
Microsoft.Web.Deployment.Tracing.WebDeployEventWriter.EventWriteVerbose(System.String, System.String, System.String)
完整输出为:
未处理的异常:System.MissingMethodException:找不到方法: '空白 Microsoft.Web.Deployment.Tracing.WebDeployEventWriter.EventWriteVerbose(System.String, 系统.字符串,系统.字符串)'。
在 Microsoft.Web.Deployment.TraceWrapper.EventWriteVerboseHelper(字符串 消息,字符串用户,字符串站点名称)
在 Microsoft.Web.Deployment.TraceWrapper.EventWriteVerbose(字符串 消息,字符串用户,字符串站点名称)
在 MSDeploy.MSDeploy.Main(字符串[]未使用的Args)
传递给
msdeploy.exe
的参数:
-source:package='C:\PROGRA~2\Jenkins\workspace\ProjectDirectory\Project.zip' -dest:auto,computerName =“localhost”,userName =“管理员”,password =“apassword”,includeAcls =“False”,tempAgent =“UseTempAgent” -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\PROGRA~2\Jenkins\workspace\ProjectDirectory\Project.SetParameters.xml" -如果
但是,更改任何参数都会导致相同的输出
虽然不完全是修复,但我降级到
Web Deploy 3.0
并且我不再看到此错误,并且项目部署成功
类似于@justin的回答
降级到 Webdeploy 3.5 而不是 webdeploy 4.0 当我使用 azuredevops
时对我有用与上面的一样,对于 Windows 10 Enterprise,我必须降级到 Web Deploy 3.5 才能解决此问题。 我必须保留 Web Deploy 3.5 msi 的副本,以便可以再次安装它,因为其他一些应用程序(可能是 VS Code 或其他一些 VS 产品?)在进行某些升级时会不断重新安装 Web Deploy 4.0。
Web Deploy 4.0 显然无法在我的 Windows 10 Enterprise 上运行。即使我在没有任何参数的情况下运行 msdeploy.exe,也会出现上面相同的错误消息,因此尝试解决它是无望的。
我也有同样的问题。我从“添加/删除程序”中卸载了 Web 部署。然后我重新下载了 Web 部署 4.0 (https://www.microsoft.com/en-us/download/details.aspx?id=106070) .
之后一切都成功了!