Web部署任务失败。 (\'Microsoft.Web.Deployment.DeploymentManager\'的类型初始值设定项引发了异常。)

| 使用Visual Studio 2010中的Web部署时出现以下错误。 Web部署任务失败。 (\'Microsoft.Web.Deployment.DeploymentManager \'的类型初始值设定项引发了异常。) 我突然开始收到此错误!我用相同的设置多次发布了我的网站,但是突然间,它开始给我这个错误。可能是网站属性中的内容吗?我正在使用asp.net,并具有Windows 7并发布到Windows Server R2。请帮忙!     
已邀请:
        好的,所以我遇到了这个问题,但这些答案对我都不起作用。我将其简化为一行代码,即:
var deploymentOptions = new Microsoft.Web.Deployment.DeploymentBaseOptions();
如果不手动将其传递给DeploymentManager,它将在内部实例化此对象。更有趣的是,如果我将其放入单元测试(由vstest启动)中,则该代码作为控制台应用程序的唯一一行对我而言将运行良好,而失败。 这是例外的全部内容:
System.TypeInitializationException occurred
  HResult=-2146233036
  Message=The type initializer for \'Microsoft.Web.Deployment.DeploymentManager\' threw an exception.
  Source=Microsoft.Web.Deployment
  TypeName=Microsoft.Web.Deployment.DeploymentManager
  StackTrace:
       at Microsoft.Web.Deployment.DeploymentManager.GetLinkExtensions()
       at Microsoft.Web.Deployment.DeploymentBaseOptions..ctor()
       at SimpleTest.Test.UnitTest1.TestMethod1() in f:\\Source\\Projects\\SimpleTest.Test\\UnitTest1.cs:line 12
  InnerException: System.TypeInitializationException
       HResult=-2146233036
       Message=The type initializer for \'Microsoft.Web.Deployment.BuiltInTypesCache\' threw an exception.
       Source=Microsoft.Web.Deployment
       TypeName=Microsoft.Web.Deployment.BuiltInTypesCache
       StackTrace:
            at Microsoft.Web.Deployment.BuiltInTypesCache.get_Factories()
            at Microsoft.Web.Deployment.DeploymentProviderFactoryCollection.LoadFromRegistry()
            at Microsoft.Web.Deployment.DeploymentProviderFactoryCollection..ctor()
            at Microsoft.Web.Deployment.DeploymentManager.LoadDeploymentManagerSettings()
            at Microsoft.Web.Deployment.DeploymentManager..cctor()
       InnerException: Microsoft.Web.Deployment.DeploymentException
            HResult=-2146233088
            Message=The provider \'Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderFactory\' could not be loaded.
            Source=Microsoft.Web.Deployment
            StackTrace:
                 at Microsoft.Web.Deployment.DeploymentProviderFactory.Create(Type type)
                 at Microsoft.Web.Deployment.BuiltInTypesCache.InspectTypesForWebDeployAttributes(IEnumerable`1 types, String dllName)
                 at Microsoft.Web.Deployment.BuiltInTypesCache..cctor()
            InnerException: Microsoft.Web.Deployment.DeploymentException
                 HResult=-2146233088
                 Message=The type \'Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderFactory\' could not be loaded. The configuration settings may not be valid.
                 Source=Microsoft.Web.Deployment
                 StackTrace:
                      at Microsoft.Web.Deployment.ReflectionHelper.CreateInstance[T](Type type, Object[] constructorArguments)
                      at Microsoft.Web.Deployment.DeploymentProviderFactory.Create(Type type)
                 InnerException: System.TypeInitializationException
                      HResult=-2146233036
                      Message=The type initializer for \'Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderBaseProviderFactory\' threw an exception.
                      Source=mscorlib
                      TypeName=Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderBaseProviderFactory
                      StackTrace:
                           at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType)
                           at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType)
                           at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj)
                           at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
                           at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
                           at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
                           at System.Activator.CreateInstance(Type type, Boolean nonPublic)
                           at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
                           at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
                           at System.Activator.CreateInstance(Type type, Object[] args)
                           at Microsoft.Web.Deployment.ReflectionHelper.CreateInstance[T](Type type, Object[] constructorArguments)
                      InnerException: System.IO.FileNotFoundException
                           HResult=-2147024894
                           Message=Could not load file or assembly \'Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\' or one of its dependencies. The system cannot find the file specified.
                           Source=Microsoft.Data.Tools.Schema.DbSqlPackage
                           FileName=Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
                           FusionLog=\"\"
                           StackTrace:
                                at Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderBaseProviderFactory..cctor()
                           InnerException:
与拥有该组件的Microsoft团队交谈后,我了解了一个简单的解决方案: 在指向问题程序集的以下路径下,在注册表中查找项,然后将其删除:
HKLM\\Software\\Microsoft\\IIS Extensions\\msdeploy\\3\\extensibility
HKLM\\Software\\Wow6432Node\\Microsoft\\IIS Extensions\\msdeploy\\3\\extensibility
问题注册表项由SQL安装。     
        只需卸载Microsoft dbsqlpackage提供程序。转到“程序和功能”。不再使用。     
        我遇到了同样的问题,但是安装SQL 2012和更改注册表无法解决该问题。在我的开发计算机上重新安装Web Deploy 3.5之后,一切都变得更简单了。     
        对我来说,我重新启动了Visual Studio并重建了项目,并且能够再次发布(我没有看到这个建议的答案,并且对我有用)。也许这是您尝试此问题的其他答案之前的第一步。     
        我重新安装了Web Deployment 3.5,使其可以在Windows 8.1上运行。在注册表中找不到文件。     
        我能够通过重新安装SQL Server来解决此错误。我使用此文件名从MSDN重新安装了SQL 2012 Express。 仅940 mb下载。似乎已修复了上周所有手动卸载所造成的麻烦。   zh_cn_sql_server_2012_express_edition_with_tools_with_sp1_x64.exe 希望对您有所帮助。     
        也许您需要在Visual Studio命令提示符下运行ѭ3。     
        我似乎也遇到了同样的问题,但是仅当在IIS Express上本地运行时(我的IIS 8实例可以很好地运行此代码)。 当我在堆栈中跟踪异常时(三个内部异常)。看来实际的例外情况如下:
Could not load file or assembly \'Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\' or one of its dependencies. The system cannot find the file specified.\":\"Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
奇怪的是,这个DLL似乎驻留在
C:\\Program Files (x86)\\Microsoft SQL Server\\110\\DAC\\bin\\Microsoft.Data.Tools.Utilities.dll
处,但实际上我有这个DLL坐在那里。 同样奇怪的是,这只会在我尝试初始化新的6时发生。在我执行任何操作之前(因此,我不会进行任何SQL调用,甚至都没有对其设置任何属性。 有什么想法吗?     
        我已经有SSMS 2014了,这似乎在VS中发布没有任何问题。在安装SQL Server 2014数据库引擎之后,这个问题为我出现了。 Victor引用的注册表项为空白。重新安装VS2012可解决此问题。     
        对我的SQL Server安装进行“修复”对我来说解决了这个问题。     

要回复问题请先登录注册