aspnet_compiler no se compilará c # código colocado en el directorio de aplicaciones web

StackOverflow https://stackoverflow.com/questions/1502445

  •  19-09-2019
  •  | 
  •  

Pregunta

He estado usando derecho del ratón haga clic en Visual Studio para publicar sitios para las edades y todo funcionaba genial, excepto que ha habido demasiados trabajos manuales. Recientemente he cambiado a usar Creación de un script para llamar aspnet_compiler publicar aplicaciones web ASP.NET. En mi escritura de la estructura me gustaría hacer algo, como a continuación:

sh "#{aspnet_compiler} -p ../src/webapp -v targetDir ./publish –u"

Mi estructura de directorios del proyecto es el siguiente:

/build/rakefile.rb
/build/publish/ --published site goes here
/src/website/bll/ --business logic goes here
/src/website/ --aspx pages
/src/website/code/ --some c# code

Cuando se llama Red PEA-compilador todo funcionaba bien, excepto el código C # en / src / web / código / no serían compilados . Me parece que la Red PEA-compilador compilado código C # en el directorio BLL a continuación, xcopied todo bajo / src / web / en el directorio de publicar (incluyendo / src / web / código / ). No sé si yo no estoy usando el interruptor correcto llamar Red PEA-compilador o este es el comportamiento deseado?

Por favor ayuda gracias!

¿Fue útil?

Solución

Me di cuenta de mi propio problema.

En primer lugar mi rastrillo escritura de la estructura termina pareciéndose a esto:

sh "#{aspnet_compiler} -f -fixednames -u -p ../src/website -v / ./publish"

En segundo lugar el comportamiento de salida del botón derecho del ratón haga clic en "publicar" dentro de Visual Studio es diferente de llamar aspnet_compiler.

Haga clic derecho en publicar voluntad:

  • directamente copiar Global.asax
  • sólo generan .dll y .pdb (archivo .pdb se puede eliminar si no es necesaria la depuración) ficheros en el directorio bin

donde al llamar aspnet_compiler:

  • compilará en Global.asax App_global.asax.compiled y App_global.asax.dll en el directorio bin
  • también generará PreCompiledApp.config (esto se debe a que he especificado páginas aspx deben ser actualizable)

No era una tarea de limpieza después de la publicación tarea que básicamente elimina otra cosa que no sea la extensión .dll bajo bin.

De todos modos ahora que he aprendido algo nuevo.

Otros consejos

he tenido problema similar cuando se utiliza aspnet_compiler en la máquina de construcción (utilicé MSBuild). La solución para mí era construir una solución antes de llamar aspnet_compiler. En MSBuild se ve algo como:

<MSBuild Projects="$(PhysicalPath)\solutionName.sln" Properties="Configuration=Debug"/>

También puede utilizar devenv solutionName.sln / construcción (si no se utiliza MSBuild).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top