Не удалось выполнить задачу развертывания сети. (Инициализатор типа для "Microsoft.Web.Deployment.DeploymentManager" сделал исключение.) - программирование
Подтвердить что ты не робот

Не удалось выполнить задачу развертывания сети. (Инициализатор типа для "Microsoft.Web.Deployment.DeploymentManager" сделал исключение.)

Я получаю следующую ошибку, когда я использую веб-развертывание из visual studio 2010. Не удалось выполнить задачу развертывания сети. (Инициализатор типа для "Microsoft.Web.Deployment.DeploymentManager" сделал исключение.)

Я внезапно начал получать эту ошибку! Я много раз публиковал свой сайт со всеми теми же настройками, но внезапно он начал давать мне эту ошибку. Может быть, это что-то в свойствах веб-сайта? Я использую asp.net и имею Windows 7 и публикацию в Windows Server R2. Пожалуйста, помогите!

4b9b3361

Ответ 1

Хорошо, поэтому я ударил эту проблему, и ни один из этих ответов не работал у меня. Я сварил его до одной строки кода, а именно:

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

Если вы не передадите это вручную в DeploymentManager, он будет внутренне создавать экземпляр этого объекта. Еще более интересным было то, что этот код будет работать для меня как единственная строка консольного приложения, пока он не сработает, если я поместил его в unit test (стартовал с 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.

Ответ 2

У меня была такая же проблема, но установка SQL 2012 и изменение реестра не исправить. После переустановки Web Deploy 3.5 на моей машине разработчика все исправлено.

Ответ 3

Для меня я перезапустил Visual Studio и перестроил проект, и я смог опубликовать его снова (я не видел, чтобы этот ответ был предложен, и это сработало для меня). Возможно, это ваш шаг один, прежде чем пытаться найти другие ответы на этот вопрос.

Ответ 4

Просто удалите поставщика dbsqlpackage от Microsoft. Получил Программу и Особенности. Он больше не используется.

Ответ 5

Я снова установил Web Deployment 3.5, чтобы он работал на Windows 8.1. Не удалось найти файлы в реестре.

Ответ 6

Мне удалось решить эту ошибку, переустановив SQL Server. Я переустановил SQL 2012 Express из MSDN с этим именем.

всего 940 мб скачать. Кажется, что на прошлой неделе все ручные удалили меня на посадку.

en_sql_server_2012_express_edition_with_tools_with_sp1_x64.exe

Я надеюсь, что это поможет.

Ответ 7

Возможно, вам нужно запустить aspnet_regiis в командной строке визуальной студии.

Ответ 8

Кажется, у меня такая же проблема, но только при работе на локальном компьютере в 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.

Также странно, что это происходит только тогда, когда я пытаюсь инициализировать новый DeploymentBaseOptions. Прежде чем я что-нибудь с этим сделаю (поэтому я не делаю никаких вызовов SQL и даже не устанавливаю никаких свойств на нем.

Мысли?

Ответ 9

У меня уже был SSMS 2014, и это, похоже, не вызывало никаких проблем с публикацией в VS. Проблема возникла для меня позже после установки ядра базы данных SQL Server 2014.

Записи реестра, на которые ссылается Виктор, были пустыми. Переустановка VS2012 устранила проблему.

Ответ 10

Выполнение "ремонта" моей установки SQL Server устранило проблему для меня.