visual una studio net error ejemplo datos conectar con como ala agregar msbuild visual-studio-2015 webdeploy microsoft-web-deploy

msbuild - una - error al conectar ala base de datos mysql



Excepción de Visual Studio 2015 SqlScriptPreprocessSqlVariables al ejecutar el asistente de publicación web con la base de datos de actualización (2)

Actualización: He reproducido el mismo error con un nuevo proyecto de aplicación web VS2015 vacío.

  • Se agregó un connectionString a una nueva base de datos SQL vacía
  • Se agregó un archivo sql-script a la solución y se seleccionó publicar ... en el asistente de publicación.

Ejemplo de asistente de publicación web con script de actualización incluido.

Obtendré el mismo error al crear un paquete de implementación web o una implementación web.

Publicación original: la tarea "SqlScriptPreprocessSqlVariables" falló inesperadamente. Esto sucede cuando uso el asistente de publicación o MSBuild con un perfil donde está seleccionada la Base de datos de actualización. En una máquina recién instalada con solo VS2015 Update1 y también en nuestro servidor de compilación con Team Fondation Server 2015 Build Agent. El mismo perfil de publicación funciona en nuestro entorno VS2013.

System.TypeLoadException: Signature of the body and declaration in a method implementation do not match. Type: ''Microsoft.Web.Publishing.Tasks.SqlScriptPreprocessor.SqlCommandExecuter''. Assembly: ''Microsoft.Web.Publishing.Tasks, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a''. at Microsoft.Web.Publishing.Tasks.SqlScriptPreprocessor.SqlScriptPreprocessSqlVariables.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask>d__26.MoveNext()

Este es el mismo error, pero desde Build Agent en el nuevo sistema de compilación. Obtuve el mismo error al ejecutar la compilación de XAML en el nuevo agente.

##[error]C:/Program Files (x86)/MSBuild/Microsoft/VisualStudio/v14.0/Web/Deploy/Microsoft.Web.Publishing.MSDeploy.Common.targets(119,5): Error MSB4018: The "SqlScriptPreprocessSqlVariables" task failed unexpectedly. ##[error]System.TypeLoadException: Signature of the body and declaration in a method implementation do not match. Type: ''Microsoft.Web.Publishing.Tasks.SqlScriptPreprocessor.SqlCommandExecuter''. Assembly: ''Microsoft.Web.Publishing.Tasks, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a''. ##[error] at Microsoft.Web.Publishing.Tasks.SqlScriptPreprocessor.SqlScriptPreprocessSqlVariables.Execute() ##[error] at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() ##[error] at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()


Así es como solucioné el problema del empaquetado de webdeploy. Esta no es una solución que recomiendo, pero funciona en mi máquina y en el servidor de compilación.

Busque el archivo Microsoft.Web.Publishing.MsDeploy.Common.targets

Esta es la ubicación en mi máquina:

C:/Program Files (x86)/MSBuild/Microsoft/VisualStudio/v14.0/Web/Deploy/ Microsoft.Web.Publishing.MsDeploy.Common.targets

En la fila 117 y hacia adelante comenté la siguiente sección.

<!--<SqlScriptPreprocessSqlVariables UnsupportedKeywords="$(MsdeploySqlUnsupportedCommand)" CheckForUnsupportCommands="$(CheckSqlScriptForUnsupportedCommands)" TreadSqlScriptUnsupportedCommandsAsWarning="$(TreadSqlScriptUnsupportedCommandsAsWarning)" SqlScriptFile="%(_DatabasesToPackageForSQL.SourcePath)" DestinationGroup="%(_DatabasesToPackageForSQL.DestinationGroup)" ResolveIncludes="$(SqlScriptPreProcessResolveIncludes)" BatchDelimiter="$(SqlScriptPreProcessBatchDelimiter)" Condition="$(EnableSqlScriptVariableParameterize) And ''%_DatabasesToPackageForSQL.SourcePath)'' != '''' And Exists(''%(_DatabasesToPackageForSQL.SourcePath)'') "> <Output TaskParameter="List" ItemName="_DatabasesToPackage_SqlVariables" /> </SqlScriptPreprocessSqlVariables>-->


Recientemente me enfrenté al mismo problema y lo resolví instalando la última versión de "SQL Server Data Tools" y reiniciando la máquina. Como mencionó @JimAho, el problema está relacionado con la versión de SQL Server Data Tools instalada. Aquí puedes descargarlo

No olvide reiniciar la máquina.