C# Visual Studio扩展:以编程方式转换$(XXX)

C# Visual Studio扩展:以编程方式转换$(XXX),c#,visual-studio,visual-studio-2017,visual-studio-extensions,C#,Visual Studio,Visual Studio 2017,Visual Studio Extensions,我尝试对VisualStudio 2017进行扩展 目前,我找不到一种方法来使用C#和Visual.VCProject API以编程方式翻译$(XXX)(例如$(SolutionDir)或$(TargetName)) EnvDTE.Project project = (EnvDTE.Project)selectedProjects.GetValue(0); var vcproj = project.Object as VCProject; VCConfiguration cfg = (VCCon

我尝试对VisualStudio 2017进行扩展

目前,我找不到一种方法来使用C#和Visual.VCProject API以编程方式翻译$(XXX)(例如$(SolutionDir)或$(TargetName))

EnvDTE.Project project = (EnvDTE.Project)selectedProjects.GetValue(0);
var vcproj = project.Object as VCProject;
VCConfiguration cfg = (VCConfiguration)vcproj.ActiveConfiguration;
VCDebugSettings debug = (VCDebugSettings)cfg.DebugSettings;

string path = debug.WorkingDirectory;
// Here path is $(ProjectDir) But I need something like c:\myProject
// Resolution can be done because Visual can do: my question is : How ?
你有什么想法吗

参考资料和文件:

编辑:经过一些搜索后

我在文档中找到了一些关于$()

回复是否在文档的这一部分中

用于评估项目模型或环境宏的值

EnvDTE.Project project = (EnvDTE.Project)selectedProjects.GetValue(0);
var vcproj = project.Object as VCProject;
VCConfiguration cfg = (VCConfiguration)vcproj.ActiveConfiguration;
VCDebugSettings debug = (VCDebugSettings)cfg.DebugSettings;

//string path = debug.WorkingDirectory;
string path = cfg.Evaluate(debug.WorkingDirectory);

// Here path is $(ProjectDir) But I need something like c:\myProject
// Resolution can be done because Visual can do: my question is : How ?