Pregunta

¿Hay alguna forma en Visual Studio (cualquier versión) de incrustar el contenido de un archivo en otro archivo al compilarlo? Por ejemplo, si uno quisiera incrustar un archivo xml en un archivo de código vb, ¿cómo se haría mejor?

¿Fue útil?

Solución

Agregue el archivo a su proyecto, haga clic derecho en el archivo y seleccione sus propiedades. En " Construir acción " cámbielo a " Recurso incrustado " ;. Ahora, cuando compile, el archivo se incrusta automáticamente como un recurso.

Aquí hay una ejemplo que muestra cómo acceder a un recurso de mapa de bits incorporado .

Otros consejos

Eche un vistazo a Resources . Puede crear un recurso de cadena que tiene su xml. Luego se compila en la imagen de la aplicación.

Brian me superó con respecto al recurso incrustado ya que estaba buscando la URL del recurso :)

Si no le importa que realmente esté en su código, puede usar un XML Literal .

Estaba a punto de mencionar el uso de la directiva del preprocesador #include (para C y C ++), pero luego mencionó VB. No creo que VB admita tal cosa.

No tengo idea de cómo hacer esto. Pero el primer pensamiento que me vino a la mente fue el de Build Providers (lo que genera clases a partir de un archivo xml en caso de un ORM).

Busqué & amp; encontré 1 cosa más llamada Herramientas personalizadas, que puede actuar sobre un archivo existente en su solución y puede usarse para generar un archivo de código.

Vea si este enlace es de ayuda: http://www.drewnoakes.com/snippets/ WritingACustomCodeGeneratorToolForVisualStudio /

Lo que he hecho en el pasado es escribir un archivo .bat simple que concatene 3 fuentes diferentes en un archivo fuente final que realmente se compile. El archivo .bat se ejecuta como parte del evento de precompilación.

Proyecto

  • SourceTop.vb
  • Source.xml
  • SourceBottom.vb

Todos estos archivos tienen una acción de compilación de " Ninguna "

  • Merged.vb

merge.bat

escriba SourceTop.vb > Fusionado.vb escriba Source.xml > > Fusionado.vb escriba SourceBottom.vb > > Merged.vb

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