2015-04-22 211 views
0

当我编译我的Web应用程序的版本时,出现以下错误。该项目之前在另一台硬盘驱动器上运行良好。所以我认为配置存在问题。我做了一些研究,并记录了Web Deploy问题,但我无法验证过去机器上正在使用的版本。Visual Studio 2010编译错误

以下是错误:

The "IsCleanMSDeployPackageNeeded" task failed unexpectedly. System.InvalidCastException: [A]Microsoft.Web.Deployment.DeploymentProviderOptions cannot be cast to [B]Microsoft.Web.Deployment.DeploymentProviderOptions. Type A originates from 'Microsoft.Web.Deployment, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location 'C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Deployment\9.0.0.0__31bf3856ad364e35\Microsoft.Web.Deployment.dll'. Type B originates from 'Microsoft.Web.Deployment, Version=7.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location 'C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Deployment\7.1.0.0__31bf3856ad364e35\Microsoft.Web.Deployment.dll'. at Microsoft.Web.Deployment.ArchiveElementHelper.get_ProviderContext() at Microsoft.Web.Deployment.ZipPackageProvider.d__0.MoveNext() at Microsoft.Web.Deployment.DeploymentObject.d__9.MoveNext() at Microsoft.Web.Deployment.DeploymentObject.d__0.MoveNext() at Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded.CheckMSDeployDumpContainIisSetting(DeploymentObject deploymentObject, String& iisMSDeployProviderName) at Microsoft.Web.Publishing.Tasks.IsCleanMSDeployPackageNeeded.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext() 0 0 PKL_QMW

+0

检查项目包含的dll。它似乎以某种方式引用了两个不同版本的Microsoft.Web.Deployment.dll。 – Liron

回答

1

Apparently如果你安装了Web部署包没有UI组件会发生这种情况。

尝试进入添加删除程序并在'Microsoft Web Deploy'上执行更改安装,并确保选择要安装的UI组件。