Pergunta

Existe uma maneira no Visual Studio (alguma versão) para incorporar o conteúdo de um arquivo em outro arquivo após a compilação? Por exemplo, se alguém quisesse incorporar um arquivo XML em um arquivo de código VB, como seria melhor?

Foi útil?

Solução

Adicione o arquivo ao seu projeto, clique com o botão direito do mouse no arquivo e selecione suas propriedades. Em "Build Action", altere -o para "Recurso incorporado". Agora, quando você compila, o arquivo é automaticamente incorporado como um recurso.

Aqui está um exemplo mostrando como acessar um recurso de bitmap incorporado.

Outras dicas

Dê uma olhada em Recursos. Você pode criar um recurso de string que tenha seu XML. Isso é então compilado na imagem do seu aplicativo.

Brian me venceu sobre o recurso incorporado enquanto eu estava procurando o URL do recurso :)

Se você não se importa que realmente esteja no seu código, você pode usar um XML literal.

Eu estava prestes a mencionar usando o #include Diretiva de pré -processador (para C e C ++), mas você mencionou o VB. Eu não acho que o VB suporta uma coisa dessas.

Não tenho idéia de como fazer isso. Mas o primeiro pensamento que me veio à mente foi o dos provedores de construção (o que gerou classes do arquivo XML em caso de um ORM).

Eu pesquisei e encontrei mais 1 coisa chamada ferramentas personalizadas, que podem atuar em um arquivo existente em sua solução e podem ser usadas para gerar arquivo de código.

Veja se este link ajuda em tudo - http://www.drewnoakes.com/snippets/writingacustomcodegeneratortoolforvisualstudio/

O que eu fiz no passado é escrever um arquivo .bat simples que concatena três fontes diferentes em um arquivo de origem final que realmente é compilado. O arquivo .bat é executado como parte do evento pré-construção.

Projeto

  • Sourcetop.vb
  • Fonte.xml
  • FonteBottom.vb

Todos esses arquivos têm uma ação de construção de "nenhum"

  • Mesclado.vb

merge.bat

tipo Sourcetop.vb> mescle.vb tipo fonte.xml >> mescle.vb tipo fontebottom.vb >> mesclado.vb

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top