Die*_*ser 4 visual-studio-2008 visual-studio
我有一个像这样的IntermediateDirectory的VS项目:"....\temp\$(SolutionName)\ $(ProjectName)".
我可以使用宏或添加来读取此值,但是,我需要实际的目录来操作那里的文件.现在,我用相应的值手动替换"$(SolutionName)"和"$(ProjectName)",这样可以正常工作,但是当使用不同的宏甚至是属性表中的用户宏时,可能会变得复杂.
所以我的问题是:Visual Studio API是否具有内置函数来扩展这些宏?还是有其他优雅的解决方案吗?
小智 5
有一个优雅的解决方案!但我只知道适用于C++项目的那个.
假设您使用的是C#加载项:
//从第一个启动项目中获取主项目
VCProject vcMainProject =(VCProject)(_ applicationObject.Solution.SolutionBuild.StartupProjects as IVCCollection).Item(1);
项目mainProj =(Project)_vcMainProject .Object;
//获取我们将要使用的配置
IVCCollection cfgs =(IVCCollection)_vcMainProject .Configurations;
VCConfiguration vcCfg =(VCConfiguration)cfgs.Item(mainProj.ConfigurationManager.ActiveConfiguration.ConfigurationName +"|"+ mainProj.ConfigurationManager.ActiveConfiguration.PlatformName);
string finalString = vcCfg.Evaluate("....\temp\$(SolutionName)\ $(ProjectName)");
您还可以查看此页面:http: //msdn.microsoft.com/en-us/library/czt44k0x%28VS.71%29.aspx
如果你没有将它用于C++,那么为其他语言(C#和VB)提供的Project,Configuration和Solution类应该有类似的接口.
| 归档时间: |
|
| 查看次数: |
1255 次 |
| 最近记录: |