Ik zie wat vreemd gedrag met de tag ItemGroup
.
Mijn applicatie is afhankelijk van verschillende DLL's en ik kopieer deze DLL's en het uitvoerbare bestand naar een implementatiemap, die door NSIS wordt gebruikt om een installatiepakket van een nieuwe versie te maken. Ik kom hier echter een vreemde kwestie tegen.
Ik definieer mijn ItemGroup
als volgt (bovenaan het bestand voordat ik mijn builddoel definieer:
Dus, dit grijpt alle DLL's in de directory en de binaire MyApp.exe
. Maar als het project is opgeschoond (d.w.z. er zijn geen bestanden in $ (OutputPath)
). De DLL's zijn niet opgenomen in de ItemGroup
-lijst met bestanden. Als ik dit nu volg met een andere build (d.w.z. er zijn bestanden van de vorige build in $ (OutputPath)
), bevat de ItemGroup
alle gewenste bestanden.
Ook heb ik de uitvoer van het build-script gecontroleerd en de DLL's gekopieerd naar $ (OutputPath)
of een opschoning wel of niet is gebeurd.
Dus mijn vraag is, hoe verbeter ik mijn build-script zodanig dat ItemGroup
altijd de DLL's bevat? Het lijkt erop dat de ItemGroup
wordt gevuld met bestanden voordat de build plaatsvindt, dus als de bestanden niet vóór de build staan, zijn ze niet opgenomen in de lijst, maar als ze al bestaan vóór de build, dan zijn ze zijn.
Ter referentie: hier is het builddoel dat ik gebruik:
..\MyApp
$(MyAppRoot)\MyApp.csproj