3

ユーザーが解析のためにコードをリモートPCに送信できるようにする、C#で記述されたVisualStudioアドインを作成しています。プロセスは、使用されているActiveSolutionPlatformによって異なります。

ユーザーコードを正しく処理できるように、アドインで現在のActiveSolutionPlatformを取得できるようにしたいと思います。

私は次のことを試しました:

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 に答える