Domanda

Sto cercando di creare uno script di build che mi consentirebbe di specificare un elenco di percorsi per "progetti di moduli" inclusi in un sito Web specifico.

Quindi, ho questo layout:

customer folder
    |_MainProject
    |_ModuleProject1
    |_ModuleProject2

Quindi, in sostanza, voglio essere in grado di specificare un Item Group che contenga ModuleProject1 e 2 e copiare file pertinenti da esso nel Mainproject.

<ItemGroup>
  <CustomModule Include="ModuleProject1\*.csproj" />
  <CustomModule Include="ModuleProjec2\*.csproj" />
</ItemGroup>

Nella mia sceneggiatura di build principale, quindi voglio scoprire i percorsi per i miei assemblaggi satellitari, nonché tutte le dll che risiedono all'interno della cartella OBJ Release*.dll del progetto.

Ho già gruppi di articoli per il file di progetto (.csproj), quindi in pratica voglio solo aggiungere altri riferimenti a file. Ma non riesco a capire come lo farei. Questo è quello che ho oggi:

<Satellites Include="$(ReferencesFolder)\??\*.dll" />
<Satellites Include="$(SiteRoot)\bin\??\*.dll" />
<Satellites Include="%(CustomModule.RelativeDir)obj\$(Configuration)\??\*.dll" />

Come farei a far funzionare l'ultima riga in base ai fatti che ho?

Quando lo fai:

<Message Text="%(CustomModule.RelativeDir)obj\$(Configuration)\??\*.dll" />

Emette questo:

ModuleProject1\obj\Release\??\*.dll
ModuleProject2\obj\Release\??\*.dll

E se qualcuno ha alcuni collegamenti ai fondamenti di MSBuild con buoni esempi, lo apprezzerei davvero. Finisco sempre a MSDN con alcuni esempi davvero criptici che non spiegano molto.

EDIT: ho rivisto il mio piano e ho quasi funzionato, tuttavia l'inclusione non funziona davvero come mi aspetto. Nulla è incluso, ma ci sono file matematici il percorso.

Se aggiungo manualmente questo:

<Satellites Include="ModuleProject1\obj\Release\??\*.dll" />

È in realtà incluso nel gruppo "satelliti".

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top