2012-01-24 10 views
11

Sto lavorando a un progetto che chiameremo Container. Il contenitore ha un sacco di EmbeddedResources. I file originali per questi EmbeddedResources sono un altro progetto che chiameremo FileProject.Come posso avere un'intera cartella essere una risorsa incorporata in un progetto di Visual Studio?

FileProject è un progetto che viene attualmente elaborato da un gruppo di diversi sviluppatori e che è in continua evoluzione, quindi ho i miei file EmbeddedResource collegati, in modo che ogni volta che il progetto originale cambia e faccio una ricostruzione del mio progetto, raccoglie le modifiche.

Questa impostazione intercetta ogni volta che un file cambia, ma non si cattura ogni volta che un nuovo file viene aggiunto o rimosso dal progetto. Esiste un modo per rendere EmbeddedResources di un'intera struttura di cartelle in Visual Studio per rilevare la rimozione e le aggiunte di file?

+0

Ragazzi, state usando SVN all'interno del VS? per esempio. http://ankhsvn.open.collab.net/ Sembra che questo sarebbe un ottimo inizio per molti ingegneri che lavorano su un progetto condiviso. –

+0

Forse ho frainteso la domanda. –

+0

Grandi quantità di risorse incorporate sono un sostituto davvero scadente per un file setup.exe. Hai mai eseguito VMMap di SysInternals sul tuo processo? Un file .zip sarebbe un approccio semplice per risolvere questo particolare problema. –

risposta

17

Modificare il file di progetto per il contenitore in un editor di testo e trovare i <EmbeddedResource> elementi che puntano ai file in FileProject:

<EmbeddedResource Include="..\FileProject\Copy.bmp"> 
    <Link>Copy.bmp</Link> 
</EmbeddedResource> 
<EmbeddedResource Include="..\FileProject\Paste.bmp"> 
    <Link>Paste.bmp</Link> 
</EmbeddedResource> 

Elimina tutti questi elementi e sostituirle con un unico <EmbeddedResource> elemento che ha un carattere jolly adatto:

<EmbeddedResource Include="..\FileProject\*.bmp" /> 

Ora, se si aggiunge Cut.bmp a FileProject, si mostrerà anche nel contenitore.

+1

Questo approccio funziona anche se i file appena aggiunti vengono visualizzati nel file .csproj con Build action Content ma agiscono anche come EmbeddedResource nella pratica. –

Problemi correlati