SolutionConfiguration2 接口
表示有关生成解决方案的特定方法的信息。
命名空间: EnvDTE80
程序集: EnvDTE80(在 EnvDTE80.dll 中)
语法
声明
<GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")> _
Public Interface SolutionConfiguration2 _
Inherits SolutionConfiguration
[GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface SolutionConfiguration2 : SolutionConfiguration
[GuidAttribute(L"1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface class SolutionConfiguration2 : SolutionConfiguration
[<GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")>]
type SolutionConfiguration2 =
interface
interface SolutionConfiguration
end
public interface SolutionConfiguration2 extends SolutionConfiguration
SolutionConfiguration2 类型公开以下成员。
属性
名称 | 说明 | |
---|---|---|
Collection | (继承自 SolutionConfiguration。) | |
Collection | 获取一个 SolutionConfigurations 集合,该集合包含支持此属性的SolutionConfiguration 对象。 | |
DTE | (继承自 SolutionConfiguration。) | |
DTE | 获取顶级扩展性对象。 | |
Name | (继承自 SolutionConfiguration。) | |
Name | 获取对象的名称。 | |
PlatformName | 获取配置的目标平台 CPU。 | |
SolutionContexts | (继承自 SolutionConfiguration。) | |
SolutionContexts | 获取 SolutionContext 对象的集合。 |
页首
方法
名称 | 说明 | |
---|---|---|
Activate() | (继承自 SolutionConfiguration。) | |
Activate() | 将焦点移至当前项。 | |
Delete() | (继承自 SolutionConfiguration。) | |
Delete() | 从集合中移除 SolutionConfiguration 对象。 |
页首
备注
对于每个项目,SolutionConfiguration 还表示哪个项目配置和平台为环境中的生成操作和设计时功能(例如,编辑器中的语句完成功能)提供上下文。
示例
此示例显示每个解决方案配置项的名称,并将第一个项的配置名称设置为“release”。 在运行此外接程序之前,在 Visual Studio 集成开发环境 (IDE) 中打开项目。
有关如何作为外接程序运行此示例的更多信息,请参见 如何:编译和运行自动化对象模型代码示例。
Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
SolutionConfigurationExample(_applicationObject)
End Sub
Sub SolutionConfigurationExample(ByVal dte As DTE2)
Try
Dim builder As SolutionBuild = _
_applicationObject.Solution.SolutionBuild
Dim config As SolutionConfiguration2
config = CType(builder.ActiveConfiguration _
, SolutionConfiguration2)
Dim i As Integer
Dim aStr As String
aStr = ""
For i = 1 To config.SolutionContexts.Count
aStr = aStr & "The configuration item number " & i.ToString() _
& "'s name is: " & config.SolutionContexts. _
Item(i).ConfigurationName.ToString() & vbCr
Next
MsgBox("The configuration names per item are:" & vbCr & aStr)
MsgBox("Change the configuration of item 1 to 'Release'...")
config.SolutionContexts.Item(1).ConfigurationName = "Release"
MsgBox("The solution configuration name for _
configuration item 1 is now: " & _
config.SolutionContexts.Item(1).ConfigurationName.ToString())
Catch ex As System.Exception
MsgBox(ex.ToString)
End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application,
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
SolutionConfigurationExample(_applicationObject);
}
public void SolutionConfigurationExample(DTE2 dte)
{
try
{
SolutionBuild builder =
_applicationObject.Solution.SolutionBuild;
SolutionConfiguration2 config;
config = (SolutionConfiguration2)builder.ActiveConfiguration;
int i;
String aStr = null;
for (i = 1; i <= config.SolutionContexts.Count;i++ )
{
aStr = aStr + "The configuration item number " + i.ToString()
+ "'s name is: " +
config.SolutionContexts.Item(i).ConfigurationName.ToString() + "\n";
}
MessageBox.Show("The configuration names per item are:" + "\n"
+ aStr);
MessageBox.Show("Change the configuration of item
1 to 'Release'...");
config.SolutionContexts.Item(1).ConfigurationName = "Release";
MessageBox.Show("The solution configuration name
for configuration item 1 is now: " +
config.SolutionContexts.Item(1).ConfigurationName.ToString());
}
catch(SystemException ex)
{
MessageBox.Show(ex.ToString());
}
}