un script .cmd:
for %%f in (*.cs) do (
csc.exe /target:dll /o:outdir\%%~nf.dll %%f CommonFile.cs
)
Si tous les fichiers source sont dans le même répertoire, vous devez exclure le fichier commun de la boucle.
for %%f in (*.cs) do (
if not %%f==CommonFile.cs (
csc.exe /target:dll /o:outdir\%%~nf.dll %%f CommonFile.cs
)
)
Les scripts précédents nomment la DLL générée avec le nom du fichier source unique. Si vous souhaitez utiliser un index numérique pour le nom de fichier, vous devez introduire une autre variable.
setlocal enabledelayedexpansion
set count=1
for %%f in ("*.cs") do (
if not %%f==CommonFile.cs (
set CSTR=00!COUNT!
set OUTFILE=Calc!CSTR:~-3!
csc.exe /target:dll /o:outdir\!OUTFILE!.dll %%f CommonFile.cs
set /a COUNT=!COUNT!+1
)
)
endlocal
Que signifie "Chaque projet/construction aura un seul fichier de code source différent"? Voulez-vous dire que project1 et project2 auront les mêmes fichiers source, sauf un? C'est plutôt étrange, mais si c'est ce que vous voulez dire ... –
désolé ma description était courte. Chaque DLL a seulement 2 fichiers source, un fichier est spécifique à chaque DLL et le second fichier est le même pour tous. – volody
Je ne veux pas créer un fichier de projet pour chaque DLL – volody