Pregunta

Estoy usando MSBuild para construir mi solución C# vs. Tengo un error con un control de terceros que necesita una interacción de usuario para la construcción. Podría arreglarlo si cambié la configuración de CruiseControl para usar Devenv en lugar de MSBuild.

Mi pregunta es: ¿hay alguna diferencia en los binarios de salida si me muevo a Devenv? ¿Tanto MSBuild como Devenv producen los mismos binarios? Con la misma optimización?

¿Fue útil?

Solución

Obviamente, hay diferencias en la forma en que se ejecuta el proceso de compilación, pero en última instancia, el mismo compilador CSC C Sharp (en memoria o exe) con las mismas opciones se invoca por cualquiera de los métodos. Naturalmente, cualquier cosa puede salir mal si las cosas no se hacen exactamente en el mismo orden, especialmente si está utilizando compilaciones paralelas, pero si la construcción se completa de manera confiable con Devenv y se completa de manera confiable con MSBuild, entonces probablemente pueda aceptarlas como equivalente.

Otros consejos

No hay diferencias, pero no te recomiendo que te muevas, porque Devenv.exe dentro de CCNET se ejecuta de forma independiente, y tampoco se puede hacer interacción de usuario de esta manera. Pero, Devenv.exe está comiendo más memoria y recursos de los usuarios, mientras que MSBuild es más rápido y se integra mucho mejor con CCNET.

Creo que debería explorar la documentación de este control, probablemente tenga algunas variables de compilación que deben inicializarse para permitir la interacción del usuario omitir.

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