2011-12-05 21 views
5

Tengo un problema con la construcción del proyecto Silverlight en Appharbor (se olvidan algunos dll). Había siguiente error antes:No se puede crear la aplicación Silverlight en el appharbor

"error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft\Expression\Blend\Silverlight\v4.0\Microsoft.Expression.Blend.Silverlight.targets" was not found". 

Es por eso que comento 1 línea en el archivo csproj:

"Import Project="$(MSBuildExtensionsPath)\Microsoft\Expression\Blend\Silverlight\v4.0\Microsoft.Expression.Blend.Silverlight.targets"" 

Y ahora recibir nuevos errores durante la construcción. Aquí puede echar un vistazo al rastro de la pila: http://pastebin.com/bKYkDzRa ¿Alguien sabe cómo puedo solucionar esto?

Saludos, Yaroslav

Respuesta

4

Deberá agregar los dll necesarios a una carpeta Lib y publicar la carpeta lib en el sitio AppHarbor.

Have a look at this example la etapa 24 que resuelve el mismo problema:

  • En Visual Studio, cree una carpeta en el proyecto DemoApp.Web llamada Lib. Esta carpeta contendrá todos los ensamblajes de los que depende la aplicación web y no son parte de .NET Framework. Al colocarlos en esta carpeta y marcarlos con "Copiar a la salida", los ensamblados se desplegarán y estarán disponibles en AppHarbor. Si no agrega los ensamblados a esta carpeta, no formarán parte de los archivos en el control de versiones y no se cargarán en BitBucket y AppHarbor.

  • Copie los archivos DLL del archivo zip con Hamaca a la carpeta Lib.

  • Abra un símbolo del sistema en la carpeta que contiene la solución. Ejecute el siguiente comando: subst S: DemoApp.Web \ Lib Esto asigna la carpeta Lib a una unidad S: virtual. La razón para hacer esto es que los proyectos de Visual Studio contendrán una ruta absoluta a la dll y cuando las fuentes se descarguen a varias computadoras, estas rutas serán diferentes. El subst arreglará eso. Incluso creé un pequeño archivo por lotes que hace esto por mí y lo coloca en la carpeta de la solución.

  • En Visual Studio, haga clic derecho en la carpeta Lib y seleccione Agregar | Elementos existentes y agregue los dll de Hammock y JSON al proyecto. Asegúrese de marcarlos como "Copiar a la salida". Haga clic con el botón derecho en el proyecto DemoApp.Web y seleccione "Agregar referencia". Haga clic en Examinar y navegue hasta la unidad S: y agregue ambas dll.

+0

Hmm añaden archivos a LibFolder y actualizar las referencias en el proyecto pero todavía referencia a la DLL instalado (C: \ Archivos de programa (x86) \ Referencia Asambleas \ Microsoft \ Framework \ v4.0 \ \ Silverlight System.Windows .Browser.dll por ejemplo). –

+1

Debe eliminar la referencia y agregarla de nuevo apuntando al dll copiado localmente en la carpeta Lib. Para obtener el mejor efecto, realice una unidad virtual S: utilizando 'subst' que apunta a la carpeta Lib y haga referencia a' S: \ my.dll' De esta forma puede mover el proyecto a cualquier lugar siempre que configure correctamente la unidad S . –

+0

Sí, lo eliminé y agregué de la carpeta Lib, pero aún apuntan a los archivos del programa. es extraño... –

3

El error que has demostrado anteriormente es debido a que el SDK Expression Blend no está instalado en el servidor de compilación. Como no está instalado, MSBuild no puede encontrar el objetivo de compilación de Mezcla. No estoy seguro de si esto es algo que AppHarbor admite o planea apoyar, pero le recomiendo que se contacte con ellos para ver si pueden instalar este SDK por usted.

Cuestiones relacionadas