尝试将包部署到 IIS 时,MSDeploy 在 EventWriteVerbose 上抛出 MissingMethodException

问题描述 投票:0回答:4

我正在使用 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" -如果

但是,更改任何参数都会导致相同的输出

asp.net jenkins webdeploy microsoft-web-deploy
4个回答
1
投票

虽然不完全是修复,但我降级到

Web Deploy 3.0
并且我不再看到此错误,并且项目部署成功


0
投票

类似于@justin的回答

降级到 Webdeploy 3.5 而不是 webdeploy 4.0 当我使用 azuredevops

时对我有用

0
投票

与上面的一样,对于 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,也会出现上面相同的错误消息,因此尝试解决它是无望的。


0
投票

我也有同样的问题。我从“添加/删除程序”中卸载了 Web 部署。然后我重新下载了 Web 部署 4.0 (https://www.microsoft.com/en-us/download/details.aspx?id=106070) .

之后一切都成功了!

© www.soinside.com 2019 - 2024. All rights reserved.