我正在创建一个用C#编写的Visual Studio插件,允许用户将其代码发送到远程PC进行解析。该过程将根据所使用的Active Solution Platform而有所不同。
我希望该加载项能够获得当前的Active Solution Platform,以便可以正确处理用户代码。
我尝试了以下方法:
try
{
SolutionBuild builder = applicationObject.Solution.SolutionBuild;
SolutionConfiguration2 config;
config = (SolutionConfiguration2)builder.SolutionConfigurations.Item(1);
MessageBox.Show("The platform name of
the solution configuration is: " + config.PlatformName);
}
catch(SystemException ex)
{
MessageBox.Show(ex.ToString());
}
但是,这总是返回列表中的第一个平台,而不是当前平台。
最佳答案
这将获取活动项目的配置名称和平台名称。
object[] openProjects = (object[])applicationObject.ActiveSolutionProjects;
Project activeProject = (Project)openProjects[0];
string configurationName = activeProject.ConfigurationManager.ActiveConfiguration.ConfigurationName;
string platformName = activeProject.ConfigurationManager.ActiveConfiguration.PlatformName;