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 專案同時還代表,提供環境中建置作業內容和設計階段功能內容的專案組態與平台,例如編輯器內的陳述式完成。
範例
這個範例會顯示每個方案組態項目的名稱,並將第一個項目的組態名稱設為「發行」。執行這個增益集之前,先開啟 Visual Studio 整合式開發環境 (IDE) 中的專案。
如需如何像執行增益集一般,執行這個範例的詳細資訊,請參閱 HOW TO:編譯和執行 Automation 物件模型程式碼範例。
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());
}
}