msbuild teamcity sitecore sitecore6 tds

msbuild - No se encontró la tarea "TransformXml"(error MSB4036) en la creación de TeamCity



sitecore sitecore6 (5)

Respuesta corta - Importar explícitamente

Lo que tenía que hacer:

<Import Project="$(MSBuildExtensionsPath32)/Microsoft/VisualStudio/v12.0/Web/Microsoft.Web.Publishing.targets" Condition="!Exists(''$(VSToolsPath)/Web/Microsoft.Web.Publishing.targets'')" />

Respuesta larga

Cuando haga Archivo -> Nuevo proyecto web en VS2013, obtendrá lo siguiente dentro de su archivo * .csproj:

<PropertyGroup> <VisualStudioVersion Condition="''$(VisualStudioVersion)'' == ''''">10.0</VisualStudioVersion> <VSToolsPath Condition="''$(VSToolsPath)'' == ''''">$(MSBuildExtensionsPath32)/Microsoft/VisualStudio/v$(VisualStudioVersion)</VSToolsPath> </PropertyGroup> <Import Project="$(MSBuildBinPath)/Microsoft.CSharp.targets" /> <Import Project="$(VSToolsPath)/WebApplications/Microsoft.WebApplication.targets" Condition="''$(VSToolsPath)'' != ''''" />

$(VisualStudioVersion) siempre evaluó a 11.0 para mí en máquinas de compilación y en múltiples máquinas de desarrollo. Incluso en máquinas con VS2013, que es 12.0 .

Al profundizar en eso, descubrí que en Microsoft.WebApplication.targets desde arriba, tiene una línea para importar el archivo que realmente queremos Microsoft.Web.Publishing.targets solo si existe, como en la línea 377:

<!--Import publishing target--> <Import Project="../Web/Microsoft.Web.Publishing.targets" Condition="Exists(''../Web/Microsoft.Web.Publishing.targets'')" />

Así que para mí esto es una importación implícita de Microsoft.Web.Publishing.targets .

El problema es que si este archivo no existe, no hace nada y usted no lo sabe hasta que obtiene el error al intentar usar la tarea TransformXml .

La instalación de VS2013 no instaló Microsoft.Web.Publishing.targets en el directorio 11.0 . Lo instaló en el directorio 12.0 . Supongo que si instalé VS2012, lo haría .

En cualquier caso, pude resolverlo importando explícitamente Microsoft.Web.Publishing.targets desde el directorio 12.0 si no existía y no era importado implícitamente por Microsoft.WebApplication.targets así:

<Import Project="$(MSBuildExtensionsPath32)/Microsoft/VisualStudio/v12.0/Web/Microsoft.Web.Publishing.targets" Condition="!Exists(''$(VSToolsPath)/Web/Microsoft.Web.Publishing.targets'')" />

Hola tengo servidor de compilación con TeamCity. Mi proyecto es Sitecore Web Application. Estoy usando TDS (HedgehogDevelopment). He configurado la configuración de compilación en TeamCity con MS build y parece que funciona cuando el proyecto TDS está deshabilitado en el administrador de configuración de compilación. Pero luego se acrecentó estoy recibiendo error neto.

C: / Archivos de programa (x86) / MSBuild / HedgehogDevelopment / SitecoreProject / v9.0 / HedgehogDevelopment.SitecoreProject.targets (310, 5): error MSB4036: No se encontró la tarea "TransformXml". Verifique lo siguiente: 1.) El nombre de la tarea en el archivo de proyecto es el mismo que el nombre de la clase de tarea. 2.) La clase de tarea es "pública" e implementa la interfaz Microsoft.Build.Framework.ITask. 3.) La tarea se declaró correctamente en el archivo de proyecto o en los archivos * .tasks ubicados en el directorio "C: / Windows / Microsoft.NET / Framework64 / v3.5". El proyecto NetKey.TDSMaster / MyProject.TDSMaster.scproj falló. Proyecto sitio web / MyProject.sln falló

La ayuda en la descripción del error no es un caso para mí. No tengo VS 2012 en la máquina de compilación. He instalado Microsoft Visual Studio 2012 Shell para apoyar mi proyecto web. Como resolverlo ? Gracias.


En Visual Studio 2017, de forma predeterminada, la mayoría (¿o todos?) Los componentes no están instalados, pero puede agregar lo que sea necesario (es decir, Asp.Net y desarrollo web) como se describe en https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio .

En mi máquina, el instalador se encuentra en "C: / Archivos de programa (x86) / Microsoft Visual Studio / Installer / vs_installer.exe"


Prueba esto:

<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)/Microsoft/VisualStudio/v10.0/Web/Microsoft.Web.Publishing.Tasks.dll" />


Tuve el mismo problema después de degradar las herramientas de TypeScript de 2.4.10 a 2.3.3 en VS2015.

Solución :

Quito esto del archivo Microsoft.TypeScript.targets

<FormatLocalizedString Condition="''$(TypeScriptVersionCheckResult)'' == ''NoneSpecified''" Culture="$(PreferredUILang)" Name="TypeScriptNoVersionWarning" Arguments="$(LastKnownTypeScriptVersion)"> <Output TaskParameter="String" PropertyName="TypeScriptNoVersionWarning" /> </FormatLocalizedString> <FormatLocalizedString Condition="''$(TypeScriptVersionCheckResult)'' == ''Downgrade'' OR ''$(TypeScriptVersionCheckResult)'' == ''Upgrade''" Culture="$(PreferredUILang)" Name="TypeScriptVersionMismatchWarning" Arguments="$(TypeScriptToolsVersion);$(LastKnownTypeScriptVersion)"> <Output TaskParameter="String" PropertyName="TypeScriptVersionMismatchWarning" /> </FormatLocalizedString>


TransformXML viene como parte de las herramientas de publicación web ASP.NET. Como tales, generalmente vienen con una instalación de Visual Studio en su servidor de compilación y requieren más que solo la versión Shell de Visual Studio. Instalar Visual Studio Express Web Edition también puede hacer el truco.

Puedes intentar instalar el paquete de Web-Deploy para ver si es suficiente, pero normalmente solo instalo la versión completa de Visual Studio en un agente de compilación. Esto es legal bajo la licencia de suscripción de MSDN.

Después de algunos experimentos, puedo decir que necesita instalar al menos Visual Studio Web Developer Tools en el servidor de compilación para que estas tareas se instalen de manera oficial. Sospecho que la instalación de Visual Studio Express Web Edition sería suficiente.