Tout le monde connait sans doute deja le work around qui permet de referencer les dll d »un autre projet en fonction de la target de compilation. A savoir, ajouter la reference a la dll avec Visual Studio puis ouvrir notre csproj en text et replacer dans le path de la dll « Debug » par $(Configuration) ou $(ConfigurationName).
Il existe une autre solution :
@echo off call:processFolder MyAssemblyBin pause goto end ::-------------------------------------------------------- ::-- Function section starts below here ::-------------------------------------------------------- :processFolder IF NOT EXIST %~1$(ConfigurationName) ( mklink /J %~1$^(ConfigurationName^) %~1Debug attrib /S /D +H %~1Debug attrib /S /D +H %~1Release ) goto:eof :end
Ce batch va creer un dossier $(ConfigurationName) dans mon dossier MyAssemblyBin qui sera un link vers le dossier Debug. Puis il va hide les dossier Debug et Release ce qui donne ceci :
Ce qui a pour effet d »inscrire directement $(ConfigurationName) dans notre csproj lorsque l »on ajoute une reference.
On n »a plus besoin d »ouvire nos csproj en text et surtout on a plus besoin de se demander si tout le monde a bien pensé faire la manip a chaque fois qu »il a ajouté une reference.
Philippe Buch.