SolutionConfiguration2 - интерфейс
Обновлен: Ноябрь 2007
Представляет сведения о конкретном способе построения решения.
Пространство имен: EnvDTE80
Сборка: EnvDTE80 (в EnvDTE80.dll)
Синтаксис
'Декларация
<GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")> _
Public Interface SolutionConfiguration2 _
Implements SolutionConfiguration
'Применение
Dim instance As SolutionConfiguration2
[GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface SolutionConfiguration2 : SolutionConfiguration
[GuidAttribute(L"1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface class SolutionConfiguration2 : SolutionConfiguration
public interface SolutionConfiguration2 extends SolutionConfiguration
Заметки
Для каждого проекта SolutionConfiguration также представляет, какая конфигурация проекта и платформа обеспечивают контекст для операции построения, а также свойства времени разработки в среде, например, завершение операторов в редакторе.
Примеры
В этом примере отображаются имена всех элементов конфигураций решения, а имени конфигурации первого элемента задается значение "Release". Перед запуском этой надстройки откройте проект в интегрированной среде разработки Visual Studio.
Дополнительные сведения о запуске этого примера в виде надстройки см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
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());
}
}