Web部署任务失败。 (“Microsoft.Web.Deployment.DeploymentManager”的types初始值设定项引发exception。)
从Visual Studio 2010使用Web部署时出现以下错误:Web部署任务失败。 (“Microsoft.Web.Deployment.DeploymentManager”的types初始值设定项引发exception。)
我突然开始出现这个错误! 我用相同的设置很多次地发布了我的网站,但是突然间它开始给我这个错误。 这可能是在网站的属性? 我正在使用asp.net,并有Windows 7和发布到Windows Server R2。 请帮忙!
好吧,所以我遇到了这个问题,这些答案都没有为我工作。 我将其简化为一行代码,即:
var deploymentOptions = new Microsoft.Web.Deployment.DeploymentBaseOptions();
如果您不手动将此传递给DeploymentManager,则会在内部实例化此对象。 更有趣的是,这个代码对于我来说只是一个控制台应用程序的唯一代码,如果我把它放到一个unit testing中,它就会失败(用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:
在与拥有这个组件的微软团队交谈之后,我学到了一个简单的解决scheme:
在下面的path下findregistry中的一个键,指出问题程序集并将其删除:
HKLM\Software\Microsoft\IIS Extensions\msdeploy\3\extensibility HKLM\Software\Wow6432Node\Microsoft\IIS Extensions\msdeploy\3\extensibility
问题registry项由SQL安装。
我有同样的问题,但安装SQL 2012和更改registry没有解决它。 在我的开发机器上重新安装Web Deploy 3.5之后 ,事情就变得清晰了。
只需卸载Microsoft dbsqlpackage提供程序。 有程序和function。 它不再使用。
对于我来说,我重新启动了Visual Studio并重build了该项目,并且能够重新发布(我没有看到这个答案,并且对我有用)。 在这个问题上尝试其他答案之前,也许这是你的第一步。
我重新安装了Web部署3.5,使其在Windows 8.1上工作。 找不到registry中的文件。
也许你需要在visual studio命令提示符下运行aspnet_regiis
。
我似乎遭受同样的问题,但只有在IIS Express本地运行(我的IIS 8实例运行此代码罚款)。
当我跟踪堆栈exception(三个内部例外)。 看来, 实际的例外情况如下:
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坐在那里。
这也是奇怪的,只有当我尝试初始化一个新的DeploymentBaseOptions
时才会发生这种情况。 在我做任何事情之前(所以我不做任何SQL调用,甚至没有设置任何属性。
思考?
我能够通过重新安装SQL Server来解决此错误。 我用这个文件名从MSDN重新安装了SQL 2012 Express。
只有940 MB的下载。 似乎已经修复了我上周所有的手动卸载。
en_sql_server_2012_express_edition_with_tools_with_sp1_x64.exe
我希望有帮助。
我已经有了2014年的SSMS,这似乎没有在VS中发布任何问题。 在安装SQL Server 2014数据库引擎之后,这个问题就出现了。
Victor提到的registry项是空白的。 重新安装VS2012修复了这个问题。
做一个“修复”我的SQL Server安装修复了我的问题。
- Android上的http连接超时不起作用
- Apache HttpClient 4.0.3 – 如何为POST请求设置cookie和sessionID
- Spring MVC – 为什么不能一起使用@RequestBody和@RequestParam
- “在反应器项目列表中没有SNAPSHOT项目”。使用Jenkins Maven发布插件时
- 想法,sbt,无法重新警告
- 发布android应用程序到市场之前的“待办事项”清单
- 从PHP中的JSON POST读取HTTP请求体
- 如何使用C#中的WebClient发布数据到特定的URL
- Android Play商店中的Beta版本。 testing人员的select链接在哪里?