3

我正在创建一个用 C# 编写的 Visual Studio 插件,允许用户将他们的代码发送到远程 PC 进行解析。该过程将根据所使用的活动解决方案平台而有所不同。

我希望加载项能够获取当前的活动解决方案平台,以便正确处理用户代码。

我尝试了以下方法:

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());
} 

然而,这总是返回列表中的第一个平台,而不是当前平台。

4

2 回答 2

4

要获得活动的解决方案配置和平台,请使用此

string active_config = (string)addin_inst.DTE.Solution.Properties.Item("ActiveConfig").Value;

这将得到一个“Debug|Win32”形式的字符串。平台将在“|”之后

于 2012-10-16T22:32:10.173 回答
1

这将获得活动项目的配置名称和平台名称。

object[] openProjects = (object[])applicationObject.ActiveSolutionProjects;
Project activeProject = (Project)openProjects[0];
string configurationName = activeProject.ConfigurationManager.ActiveConfiguration.ConfigurationName;
string platformName = activeProject.ConfigurationManager.ActiveConfiguration.PlatformName;
于 2012-09-06T15:27:00.523 回答