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



我正在使用 Jenkins 来构建和打包一个 ASP.NET 项目。一切正常,直到我尝试运行与打包过程一起输出的<ProjectName>.deploy.cmd文件

无论我运行deploy.cmd还是直接运行msdeploy.exe,都会输出此错误

显然,缺少的方法Microsoft.Web.Deployment.Tracing.WebDeployEventWriter.EventWriteVerbose(System.String, System.String, System.String)

完整输出为:

未处理的异常:系统。缺少方法异常:找不到方法: '虚空 Microsoft.Web.Deployment.Tracing.WebDeployEventWriter.EventWriteVerbose(System.String, System.String, System.String('.

在 Microsoft.Web.Deployment.TraceWrapper.EventWriteVerboseHelper(String 消息, 字符串用户, 字符串站点名称(
at Microsoft.Web.Deployment.TraceWrapper.EventWriteVerbose(String 消息, 字符串用户, 字符串站点名称(
at MSDeploy.MSDeploy.Main(String[] unusedArgs(

传递给msdeploy.exe的参数:

-source:package='C:\PROGRA~2\Jenkins\workspace\ProjectDirectory\Project.zip' -dest:auto,computerName="localhost",userName="Administrator",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答案

降级到 Webdeploy3.5 而不是 Webdeploy 4.0在我使用Azure Devops时对我有用

与上述内容一样,对于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没有任何参数,也会发生上述相同的错误消息,因此尝试解决它是无望的。

相关内容

最新更新