Auteur de questions
Comment écraser la propriété AdditionalLibraryDirectories à la tâche Link de MSBuild 4.0

Discussion générale
-
Bonjour,
J'ai plusieurs projets C++ ( .vcxproj) que je souhaite compiler.
Je veux que mon script de compilation utilise le même AdditionalLibraryDirectories pour tous ces projets, même si dans les fichiers vcxproj, ils en ont des différents.
J'ai un fichier "compile.targets" qui appelle une tâche MSBuild pour compiler chaque vcxproj.
En résumé:
<Target Name="CompileMyProject">
<MSBuild
Condition=" des conditions "
Projects="@(MyProjectAndItsDependentProjects)"
Properties="UseEnv=True; et bien d'autres..."
Targets="Build"
ToolsVersion="4.0"
/>
</Target>
Dans le "monprojet.vcxproj", généré par VisualStudio2010, il y a l'arborescence suivante:
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Link>
<AdditionalLibraryDirectories>Chemin1</AdditionalLibraryDirectories>
Dans mon fichier "compile.targets", y'a-t-il une possibilité pour forcer que la compilation utilise un autre Chemin2 à la place de Chemin1 ?
Y'a-t-il une autre solution ? (des fichiers .props peut-être, mais comment les intégrer? )Merci d'avance,
RaphDev.
- Type modifié Gilles TOURREAUModerator jeudi 19 juillet 2012 22:52
Toutes les réponses
-
Bonjour,
Avez vous essayé de spécifier la propriété AdditionalLibraryDirectories dans la propriété "Properties" dans la tâche MSBuild :
<Target Name="CompileMyProject"> <MSBuild Condition=" des conditions " Projects="@(MyProjectAndItsDependentProjects)" Properties="AdditionalLibraryDirectories=<Votre chemin>;...." Targets="Build" ToolsVersion="4.0" /> </Target>
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance
Blog : http://gilles.tourreau.fr
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 -
-
-
-
Désolé, travail, on est des bénévoles. ;-)
De manière logique, c'est AdditionalLibraryDirectories du projet qui devrait utiliser une propriété, qui elle devrait être "overridable".
Mais j'ai du mal à voir dans quel cas cela serait utile.
Paul Bacelar, Ex - MVP VC++