vs2017 visual studio net for deploy component asp c# asp.net visual-studio-2010 publish web-deployment

c# - visual - La tarea de implementación web falló.(El inicializador de tipo para ''Microsoft.Web.Deployment.DeploymentManager'' lanzó una excepción).



web deploy iis 10 (10)

Recibo el siguiente error cuando utilizo el despliegue web de visual studio 2010. Falló la tarea de implementación web. (El inicializador de tipo para ''Microsoft.Web.Deployment.DeploymentManager'' lanzó una excepción).

¡De repente comencé a tener este error! Publiqué mi sitio muchas veces con la misma configuración, pero de repente comenzó a darme este error. ¿Podría ser algo en las propiedades del sitio web? Estoy usando asp.net y tengo Windows 7 y publicaciones en Windows Server R2. ¡Por favor ayuda!


De acuerdo, entonces llegué a este problema y ninguna de estas respuestas funcionó para mí. Lo reduje a una sola línea de código, a saber:

var deploymentOptions = new Microsoft.Web.Deployment.DeploymentBaseOptions();

Si no pasa esto manualmente a DeploymentManager, creará una instancia interna de este objeto. Aún más interesante fue que este código funcionaría bien para mí como la única línea de una aplicación de consola mientras fallaba si lo pongo en una prueba unitaria (comenzada con vstest).

Aquí está el cuerpo completo de la excepción:

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:

Después de hablar con el equipo de Microsoft que posee este componente, aprendí una solución simple:

Busque una clave en el registro en las siguientes rutas que señalen el ensamblado del problema y elimínelo:

HKLM/Software/Microsoft/IIS Extensions/msdeploy/3/extensibility HKLM/Software/Wow6432Node/Microsoft/IIS Extensions/msdeploy/3/extensibility

La clave de registro problemática está instalada por SQL.


Hacer una "reparación" de la instalación de mi SQL Server solucionó el problema.


Para mí, reinicié Visual Studio y reconstruí el proyecto y pude publicar de nuevo (no vi que se sugiriera esta respuesta y funcionó para mí). Tal vez este es su paso uno antes de intentar otras respuestas sobre esta pregunta.


Parece que estoy sufriendo el mismo problema, pero solo cuando ejecuto localmente en IIS Express (mi instancia de IIS 8 ejecuta este código correctamente).

Cuando sigo la excepción por la pila (tres excepciones internas). Parece que la excepción real es la siguiente:

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

Lo extraño de esto es que esta DLL parece residir @ C:/Program Files (x86)/Microsoft SQL Server/110/DAC/bin/Microsoft.Data.Tools.Utilities.dll pero en realidad tengo esta DLL ahí.

También es extraño que esto solo ocurra cada vez que intento inicializar un nuevo DeploymentBaseOptions . Antes de hacer algo con él (así que no estoy haciendo ninguna llamada SQL, y ni siquiera he establecido ninguna propiedad en él.

¿Pensamientos?


Pude resolver este error reinstalando SQL Server. Reinstalé SQL 2012 Express, de MSDN, con este nombre de archivo.

solo descarga de 940 mb. Parece haber reparado whatevrer que conecté con todas las desinstalaciones manuales la semana pasada.

en_sql_server_2012_express_edition_with_tools_with_sp1_x64.exe

Espero que eso ayude.


Reinstalé Web Deployment 3.5 para que funcione en Windows 8.1. No se pudieron encontrar los archivos en el registro.


Simplemente desinstale el proveedor de Microsoft dbsqlpackage. Vaya a "Programas y características". Ya no se usa.


Tal vez necesites ejecutar aspnet_regiis en el prompt del comando visual studio.


Tuve el mismo problema, pero instalar SQL 2012 y cambiar el registro no lo solucionó. Después de volver a instalar Web Deploy 3.5 en mi máquina de desarrollo, todo se solucionó.


Ya tenía SSMS 2014 y esto no parece causar ningún problema con la publicación en VS. El problema surgió más tarde después de instalar el motor de base de datos de SQL Server 2014.

Las entradas de registro a las que se refería Victor estaban en blanco. La reinstalación de VS2012 solucionó el problema.