MSBuild falha na compilação procurando por versão mais antiga do Microsoft.Data.Tools.Schema.Sql

4

Após instalar e configurar um servidor de compilação para 2012, tentei fazer uma implantação contínua em azul.

Eu tenho o TFS2012 instalado. Um controlador de construção e um único agente no servidor. Conectando-se à nuvem TFS2012. Eu também uso sites do Azure neste caso. Eu tenho o Visual Studio 2012 Professional e SQL Server 2012 instalado no servidor de compilação. O projeto não tem bancos de dados, então não sei por que ele está procurando por 10.3. Eu não vejo essa versão do servidor, no entanto, vejo 11.0.2861.0. Existe alguma configuração que eu preciso mudar para ver a versão mais recente? Eu também instalei o SSDT em junho de 2012 no servidor de compilação. A compilação é bem sucedida e realmente move todos os arquivos e cria um pacote. Mas eu recebo este erro fazendo o evento de construção falhar. O que estou perdendo?

Recebo a seguinte mensagem de erro:

Exception Message: The type initializer for 'Microsoft.Web.Deployment.DeploymentManager' threw an exception. (type TypeInitializationException)
Exception Stack Trace: 
Server stack trace: 
   at Microsoft.Web.Deployment.DeploymentProviderSettingCollection..ctor(String factoryName)
   at Microsoft.Web.Deployment.DeploymentProviderOptions..ctor(String factoryName)
   at Microsoft.Web.Deployment.DeploymentProviderOptions..ctor(DeploymentWellKnownProvider wellKnownProvider)
   at Microsoft.TeamFoundation.Deployment.Workflow.Activities.MSDeployWorker.RunCommand(String publishEndpoint, String targetSite, String userName, String password, String packagePath, String setParametersPath, Boolean allowUntrustedCertificates)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]: 
   at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
   at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

Inner Exception Details:

Exception Message: The type initializer for 'Microsoft.Web.Deployment.BuiltInTypesCache' threw an exception. (type TypeInitializationException)
Exception Stack Trace:    at Microsoft.Web.Deployment.DeploymentProviderFactoryCollection.LoadFromRegistry()
   at Microsoft.Web.Deployment.DeploymentManager.LoadDeploymentManagerSettings()
   at Microsoft.Web.Deployment.DeploymentManager..cctor()

Inner Exception Details:

Exception Message: The provider 'Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderFactory' could not be loaded. (type DeploymentException)
Exception Stack Trace:    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()

Inner Exception Details:

Exception Message: The type 'Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderFactory' could not be loaded. The configuration settings may not be valid. (type DeploymentException)
Exception Stack Trace:    at Microsoft.Web.Deployment.ReflectionHelper.CreateInstanceT
   at Microsoft.Web.Deployment.DeploymentProviderFactory.Create(Type type)

Inner Exception Details:

Exception Message: The type initializer for 'Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderBaseProviderFactory' threw an exception. (type TypeInitializationException)
Exception Stack Trace:    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.CreateInstanceT

Inner Exception Details:

Exception 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. (type FileNotFoundException)
Exception Stack Trace:    at Microsoft.Data.Tools.Schema.MsDeploy.MsDeployProviderBaseProviderFactory..cctor()
    
por gmcalab 19.07.2013 / 22:56

1 resposta

5

Removeu as seguintes chaves do registro e resolveu o problema.

HKLM\Software\Microsoft\IIS Extensions\msdeploy\extensibility
HKLM\Software\Wow6432Node\Microsoft\IIS Extensions\msdeploy\extensibility
    
por 23.07.2013 / 23:06