Estoy utilizando la nueva tarea en línea de MSBuild para aprovechar TransformXml (Transformada XDT) en el ensamblaje Microsoft.Web.Publishing.Tasks.dll
.Tarea en línea de MSBuild: ensambles no estándar de Microsoft
Esto es lo que (cortado con tijeras) se ve mi tarea como:
<Task>
<Reference Include="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
<Reference Include="System.Xml" />
<Using Namespace="System"/>
<Using Namespace="System.Linq"/>
<Using Namespace="System.IO" />
<Using Namespace="System.Xml"/>
<Using Namespace="Microsoft.Web.Publishing.Tasks"/>
<Code Type="Fragment" Language="cs">...</Code>
</Task>
Este compila bien y se carga la DLL, sin embargo, cuando se ejecuta como un error porque está tratando de encontrar el conjunto en el camino AppBase que es : C:\Windows\Microsoft.NET\Framework\v4.0.30319
. Hubiera esperado que mirara el camino que le di.
registro Fusión muestra esto:
=== Pre-bind state information ===\r
LOG: User = xxx\Kamran\r
LOG: DisplayName = Microsoft.Web.Publishing.Tasks, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)\r
LOG: Appbase = file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/\r
LOG: Initial PrivatePath = NULL\r
Calling assembly : (Unknown).\r
===\r
LOG: This bind starts in default load context.\r
LOG: Using application configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe.Config\r
error MSB4018: LOG: Using host configuration file: \r
error MSB4018: LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.\r
error MSB4018: LOG: Post-policy reference: Microsoft.Web.Publishing.Tasks, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\r
error MSB4018: LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Microsoft.Web.Publishing.Tasks.DLL.\r
error MSB4018: LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Microsoft.Web.Publishing.Tasks/Microsoft.Web.Publishing.Tasks.DLL.\r
error MSB4018: LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Microsoft.Web.Publishing.Tasks.EXE.\r
error MSB4018: LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Microsoft.Web.Publishing.Tasks/Microsoft.Web.Publishing.Tasks.EXE.\r
¿Hay alguna manera de arreglar esto o voy a ser obligado a crear un ensamblado de tarea en su lugar?
Informe de error que se cerró incorrectamente: [MSBuild: ruta utilizada para la referencia de tareas en línea no se respeta] (https://connect.microsoft.com/VisualStudio/feedback/details/768289/msbuild-path-used-for- inline-task-reference-is-not-honored). Reenvío: [MSBuild: la ruta utilizada para referencia de tareas en línea no se respeta (toma 2)] (https://connect.microsoft.com/VisualStudio/feedback/details/2285231) – Stijn
Microsoft ha reproducido el error, usted puede seguir su progreso en https://github.com/Microsoft/msbuild/issues/594 – Stijn