Visual Studio Addin - 获取名称\ c ++项目的二进制路径?

时间:2011-05-09 06:18:09

标签: c++ visual-studio add-in

我想用Visual Studio C#Addin获取C ++项目的二进制名称。

我用google搜索并发现,EnvDTE.Configuration.properties应该有一个名为“AssemblyName”的元素,但C ++项目似乎没有这个元素。

有人知道我在哪里可以在visual studio addin中获取这些信息吗?

2 个答案:

答案 0 :(得分:3)

对于VC ++项目,您需要访问VCConfiguration EnvDTE.Project Object EnvDTE.Project project = ... VCProject vcProj = (VCProject)project.Object; IVCCollection configs = (IVCCollection)vcProj.Configurations; VCConfiguration config = (VCConfiguration)configs.Item(configName); // like "Debug" 属性所需的VCConfiguration对象:

VCLinkerTool

此时使用Tools如何获得正确的属性取决于您的设置。您可以访问OutputFile媒体资源中的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"); 和其他媒体资源。或者,如果您使用较新的继承属性表,则可以通过{{1}}属性访问这些属性表。

{{1}}

答案 1 :(得分:3)

为了获得二进制文件的完整路径,请按照@Chadwick所说的获取VCConfiguration对象的步骤进行操作。然后,只需使用以下代码行:

//returns the complete binary name including path as a string
var primaryOutput = config.PrimaryOutput;