【发布时间】:2015-06-30 11:58:52
【问题描述】:
我在编译 Web 应用程序的版本时收到以下错误。该项目之前在硬盘驱动器出现故障的另一台机器上运行良好。所以我认为配置有问题。我做了一些研究,它记录了一个 Web Deploy 问题,但我无法验证在过去的机器上使用的是什么版本。
这是错误:
“IsCleanMSDeployPackageNeeded”任务意外失败。 System.InvalidCastException: [A]Microsoft.Web.Deployment.DeploymentProviderOptions 无法强制转换 到 [B]Microsoft.Web.Deployment.DeploymentProviderOptions。 A型 源自 'Microsoft.Web.Deployment, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 在上下文中 位置的“默认” 'C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Deployment\9.0.0.0__31bf3856ad364e35\Microsoft.Web.Deployment.dll'。 B 型源自 'Microsoft.Web.Deployment, Version=7.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 在上下文中 位置的“默认” 'C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Deployment\7.1.0.0__31bf3856ad364e35\Microsoft.Web.Deployment.dll'。 在 Microsoft.Web.Deployment.ArchiveElementHelper.get_ProviderContext() 在 Microsoft.Web.Deployment.ZipPackageProvider.d__0.MoveNext() 在 Microsoft.Web.Deployment.DeploymentObject.d__9.MoveNext() 在 Microsoft.Web.Deployment.DeploymentObject.d__0.MoveNext() 在 Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded.CheckMSDeployDumpContainIisSetting(DeploymentObject 部署对象、字符串和 iisMSDeployProviderName) 在 Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded.Execute() 在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 在 Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext() 0 0 PKL_QMW
【问题讨论】:
-
检查项目包含的dll。它似乎以某种方式引用了两个不同版本的 Microsoft.Web.Deployment.dll。
标签: asp.net .net visual-studio-2010