2012-12-28 5 views
1

MS Visual Studio 2012 par défaut a deux configurations: Debug et Release. J'écris des plugins pour AutoCAD et BricsCAD. Ce code est le même, mais en utilisant différentes bibliothèques référencées.Configurations de Visual Studio

je besoin d'ajouter de nouvelles configurations: DebugForAutoCAD et DebugForBricsCAD. Chacun de ces doit posséder à a références, espace de noms par défaut, Nom de l'assembly, chemin de sortie et l'option de démarrage du programme externe.

Si je modifie les références, ces modifications sont appliquées à toutes les configurations. J'ai besoin que les références soient individuelles pour chaque configuration. Et d'autres paramètres aussi.

Puis-je le faire facilement?

Répondre

1

Pour autant que je sais qu'il n'y a pas de support d'interface utilisateur dans VS pour cela, mais vous pouvez modifier manuellement les fichiers de projet comme celui-ci:

<ItemGroup Condition=" '$(Configuration)' == 'DebugForAutoCad' "> 
    <Reference Include="somref"/> 
    <Reference Include="somotherref /> 
</ItemGroup> 

<PropertyGroup Condition=" '$(Configuration)' == 'DebugForAutoCad' "> 
    <OutputPath>somePath<OutputPath/> 
</PropertyGroup> 

<ItemGroup Condition=" '$(Configuration)' == 'DebugForBricsCAD' "> 
    <Reference Include="anohterRef"/> 
</ItemGroup> 

<PropertyGroup Condition=" '$(Configuration)' == 'DebugForBricsCAD' "> 
    <OutputPath>someOtherPath<OutputPath/> 
</PropertyGroup> 

et ainsi de suite. Si vous devez le faire pour plusieurs projets, je suggère fortement de mettre tout ce qui est commun dans un fichier séparé et de l'utiliser dans chaque fichier de projet en utilisant Import.

+0

J'utilise cette méthode pour construire pour différentes versions d'AutoCAD, même en changeant les versions de framework. Utiliser un projet signifie que vous ne pouvez pas/ne pas oublier d'ajouter des fichiers de code liés aux autres projets. J'ai trouvé VS peut refactoriser les références génériques dans un fichier de projet dans les fichiers individuels. [Resharper 7 se plaint de références ambiguës] (http://youtrack.jetbrains.com/issue/RSRP-329698) dans le code quand il trouve AcCoreMgd.dll et vous passez ensuite à une version qui ne l'utilise pas mais tout construit très bien. Suspending R # fait disparaître les erreurs. J'utilise C# et non C++ donc votre kilométrage peut varier. –

0

Je recommande de créer des projets distincts pour chaque cible AutoCAD et Bricscad, puis de simplement partager les fichiers source entre tous les projets. De cette façon, les projets ont chacun leurs propres références et utilisent les configurations standard Release et Debug qui peuvent être facilement gérées dans l'interface utilisateur. C'est un peu daté, mais j'ai blogué en 2007 à ce sujet: http://otb.manusoft.com/2007/06/visual-studio-build-configuration-tip.htm

Questions connexes