2009-06-11 17 views
9

Estamos desarrollando un proyecto de aplicación web ASP.Net que tiene un componente Silverlight 2.0. Hacemos referencia al proyecto Silverlight en las propiedades de la aplicación web, y el archivo xap se está copiando a la carpeta ClientBin de la aplicación web cuando construimos localmente.No se copió el archivo xap de Silverlight en ClientBin en Build Server

El problema es que cuando construimos esto en nuestro servidor de compilación (que usa CruiseControl.Net, aunque no creo que sea relevante), el archivo xap no se está copiando. Lo extraño es que esto estaba funcionando, pero algo se ha roto y no podemos entender qué.

¿Alguien ha visto esto antes?

Respuesta

13

¡Ordenado!

No estoy seguro de por qué, pero resulta que teníamos una versión fuera de la fecha de Microsoft.WebApplications.targets en el servidor de compilación - la versión que teníamos no tiene los CopySilverlightApplications tarea en ella. Para solucionar el problema, copié los dos archivos de la carpeta C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications en la misma ubicación en el servidor de compilación. Ahora todo funciona como debería.

Ahora bien, si sólo pudiera averiguar qué instalador debería haber actualizado los archivos ...

+0

Lo mismo me ha pasado a mí. Esto es con VS2008SP1 y utilicé el instalador de Web Platform para descargar e instalar "Silverlight 3 Tools for Visual Studio", "Silverlight Toolkit (octubre)" y "WCF Ria Services". Por alguna razón, esto funcionó bien en una máquina y falló en otra. El mismo procedimiento exacto. Hubo pequeñas diferencias en la configuración existente, por lo que creo que una de esas diferencias rompió el instalador. De todos modos, gracias por actualizar con su éxito. –

+2

Los dos archivos que se deben copiar son "Microsoft.WebApplication.Build.Tasks.Dll" y "Microsoft.WebApplications.targets". Estos archivos son agregados por el instalador de extensiones de implementación web de Visual Studio 2008. Copiarlos manualmente en el servidor de compilación es necesario (creo) porque este instalador no se ejecutará a menos que VS 2008 esté instalado y pocas personas quieran que el IDE esté instalado en su servidor de compilación. –

0

Acabo de tener un problema similar donde algunos archivos no se estaban construyendo/moviendo a mi servidor de desarrollo. El problema terminó siendo permiso, ya que eliminé manualmente una carpeta. Por algún motivo, la cuenta y los permisos del Servicio de Red no fueron heredados por la carpeta recrecida nuevamente.

0

me encontré con la siguiente etiqueta en mi archivo de proyecto fija que:

<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> 

por ejemplo,

<PropertyGroup> 
    <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)' != ''" /> 
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> 

Quizás VSToolsPath está configurado antes de este punto en mi máquina local, pero no en el servidor de compilación.

Cuestiones relacionadas