Pour les projets de VC vous avez besoin d'avoir accès à l'objet VCConfiguration
que vous devriez être en mesure d'obtenir à partir de la propriété de Object
EnvDTE.Project
comme:
EnvDTE.Project project = ...
VCProject vcProj = (VCProject)project.Object;
IVCCollection configs = (IVCCollection)vcProj.Configurations;
VCConfiguration config = (VCConfiguration)configs.Item(configName); // like "Debug"
À ce moment-là avec le VCConfiguration
exactement comment obtenir aux bonnes propriétés dépend de votre configuration. Vous pouvez accéder à la VCLinkerTool
depuis la propriété Tools
et accéder aux propriétés OutputFile
et autres. Ou, si vous utilisez les nouvelles feuilles de propriétés héritées, vous pouvez y accéder via la propriété Rules
.
IVCCollection tools = (IVCCollection)config.Tools;
VCLinkerTool linkTool = (VCLinkerTool)tools.Item("Linker Tool");
string outputFile = linkTool.OutputFile;
// -------
IVCRulePropertyStorage ruleStorage = config.Rules.Item(ruleName);
string outputFile = ruleStorage.GetEvaluatedPropertyValue("TargetName");
projets C++ ne sont pas des « ensembles » comme projets C# faire. Que voulez-vous dire par «assemblée»? –
Hé, ok c'est bon. Je veux connaître le nom de la poubelle. La DLL ou exe avec son chemin. –
Vous devriez pouvoir récupérer ceci avec $ (OutputPath) et $ (TargetName). – RedX