.Net

.NET multi target reference

Nov 5, 2011

Philippe Buch

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.

SetConfigurationNameFolders.bat (416.00 bytes)

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Découvrez nos autres articles

Aller au contenu principal