C# Visual Studio SDK: VCDirectories interface



我目前正在Visual Studio 2015中开发Visual Studio插件,它将检索与加载的Visual C++项目相关的全局包含/库目录。

根据Microsoft文档,VCDirectories接口作为Microsoft.VisualStudio.VCProject命名空间的成员存在。 但是,当我在范围内具有有效的 VCProject 引用时,我无法访问此接口。

public List<string> IncludeDirectories()
{
List<string> includeDirs = new List<string>();
// assume VCProj() returns a valid VCProject object
VCProject proj = VCProj();
VCDirectories dirs = proj.VCDirectories;
return includeDirs;
}

根据我对文档的理解,我应该能够通过上面代码片段中的proj引用 VCDirectories。 但是VCDirectories接口不存在。

Visual Studio 报告的完整错误是;'VCProject' does not contain a definition for 'VCDirectories' and no extension method 'VCDirectories' accepting a first argument of type 'VCProject' could be found (are you missing a using directive or an assembly reference?).

有人可以告诉我哪里出错了吗?

干杯

编辑

使用卡洛斯提供的信息完成上述功能;

public List<string> IncludeDirectories()
{
List<string> includeDirs = new List<string>();
// assume VCProj() returns a valid VCProject object
VCProject proj = VCProj();
VCPlatform pf = proj.ActiveConfiguration.Platform;
string[] directories = pf.Evalualte(pf.IncludeDirectories).split(';');
foreach(string dir in directories) {
if(dir != "") {
includeDirs.Add(dir);
}
}
return includeDirs;
}

您可能希望改用以下属性:

  • VCPlatform.IncludeDirectory

  • VCPlatform.LibraryDirectory

  • VCCLCompilerTool.AdditionalIncludeDirectory

你可以得到VCPlatform,正如我几年前在这篇文章的方法中所展示的那样:

如何:从外接程序获取视觉C++项目的标准包含目录

您可以使用另一篇文章的方法获取VCCLCompilerTool:

如何:从外接程序获取 Visual C++ 项目的其他包含目录

相关内容

  • 没有找到相关文章

最新更新