VSProject2 - интерфейс
Содержит сведения, относящиеся к проекту Visual Basic или Visual C#. Объект Object возвращает эти сведения, если проект является проектом Visual Basic или Visual C#.
Пространство имен: VSLangProj80
Сборка: VSLangProj80 (в VSLangProj80.dll)
Синтаксис
'Декларация
<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")> _
Public Interface VSProject2 _
Inherits VSProject
[GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface VSProject2 : VSProject
[GuidAttribute(L"B1042570-25C6-424A-B58B-56FA83AA828A")]
public interface class VSProject2 : VSProject
[<GuidAttribute("B1042570-25C6-424A-B58B-56FA83AA828A")>]
type VSProject2 =
interface
interface VSProject
end
public interface VSProject2 extends VSProject
Тип VSProject2 предоставляет следующие члены.
Свойства
Имя | Описание | |
---|---|---|
![]() |
BuildManager | Получает объект BuildManager объекта VSProject. |
![]() |
DTE | Возвращает объект расширения верхнего уровня. |
![]() |
Events | Получает объект VSProjectEvents, который позволяет реагировать на события объектов Imports, References и BuildManager. |
![]() |
Events2 | Получает объект VSProjectEvents2, который позволяет реагировать на события объектов Imports, References, BuildManager и VSLangProjWebReferencesEvents. |
![]() |
Imports | Получает объект Imports, связанный с проектом.Для проектов на языке C# свойство Imports имеет значение Nothing (ссылка nullссылка NULL (Nothing в Visual Basic)). |
![]() |
Project | Получает универсальный объект Project, связанный с проектом Visual Basic или Visual C#. |
![]() |
PublishManager | Получает объект PublishManager, что разрешает публикацию ClickOnce. |
![]() |
References | Получает коллекцию References для проекта. |
![]() |
TemplatePath | В Microsoft Visual Studio 2005 это свойство не рекомендуется к использованию.Взамен рекомендуется использовать GetProjectItemTemplate. |
![]() |
WebReferencesFolder | Получает объект ProjectItem, представляющий папку веб-ссылок проекта.Если эта папка не существует, свойство возвращает значение Nothing (ссылка nullссылка NULL (Nothing в Visual Basic)). |
![]() |
WorkOffline | Указывает способ работы веб-проекта: в сети или автономно.При автономной работе разработка продолжается на автономно хранящихся файлах проекта, поэтому файлы проекта на сервере не изменяются. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
![]() |
AddWebReference | Добавляет ссылку на веб-службу этого проекта.В папку веб-ссылок проекта добавляется новая вложенная папка ссылок на веб-службу.В этой новой папке содержится несколько других элементов проекта, относящихся к веб-службе.Метод возвращает объект ProjectItem, связанный с новой папкой веб-службы. |
![]() |
CopyProject | Копирует некоторую часть веб-проекта или весь веб-проект в новое расположение. |
![]() |
CreateWebReferencesFolder | Создает папку веб-ссылок для проекта. |
![]() |
Exec | Инфраструктура. Только для внутреннего использования в корпорации Майкрософт. |
![]() |
GenerateKeyPairFiles | Создает файл открытого/закрытого ключа, используемый для формирования строгого имени для сборки. |
![]() |
GetUniqueFilename | Создает уникальное имя файла в проекте. он используется для именования новых элементов проекта. |
![]() |
Refresh | Обновляет внешний вид проекта в обозревателе решений и обновляет ссылки. |
В начало страницы
Заметки
Project — это объект общего расширения среды, который может содержать сведения о проектах на любом языке. Свойство Object объекта Project возвращает объект, тип которого зависит от языка данного проекта. В случае Visual Basic и Visual C# этим объектом является объект VSProject2.
Свойство Object возвращает тип данных Object. Затем объект данных, возвращенный свойством Object, может быть явно преобразован в объект VSProject2. В приведенном ниже примере это преобразование демонстрируется с помощью функции CType. Перечисление PrjKind используется для проверки типа проекта перед преобразованием.
Примеры
О том, как выполнить этот пример в качестве надстройки, см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.
Чтобы определить, является ли проект Visual Basic или Visual C# проектом смарт-устройства, используется prjKindSDEVBProject и prjKindSDECSharpProject.
[Visual Basic]
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
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)
VSProject2Example(applicationObject)
End Sub
Sub VSProject2Example(ByVal dte As DTE2)
Dim aProject As Project
Dim aVSProject2 As VSProject2
aProject = applicationObject.Solution.Projects.Item(1)
MsgBox(aProject.Kind & aProject.Name)
If (aProject.Kind = PrjKind.prjKindVBProject) Or_
(aProject.Kind = PrjKind.prjKindCSharpProject) Then
aVSProject2 = CType(applicationObject.Solution.Projects.Item(1).Object, _
VSProject2)
MsgBox(aVSProject2.Project.FullName)
Else
MsgBox("The first project is not a Visual Basic or C# _
project.")
End If
End Sub
[C#]
// To use Messabox.Show, a reference to Windows.Forms is required.
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, ext_ConnectMode
connectMode, object addInInst, ref Array custom)
{
applicationObject = (DTE2)application;
addInInstance = (AddIn)addInInst;
VSProject2Example((DTE2)applicationObject);
}
public void VSProject2Example(DTE2 dte)
{
Project aProject = null;
VSProject aVSProject2 = null;
aProject = applicationObject.Solution.Projects.Item( 1 );
MessageBox.Show( aProject.Kind + aProject.Name);
if ( ( aProject.Kind == PrjKind.prjKindVBProject ) |
( aProject.Kind == PrjKind.prjKindCSharpProject ) )
{
aVSProject2 = ( ( VSProject )
(applicationObject.Solution.Projects.Item( 1 ).Object ) );
MessageBox.Show( aVSProject2.Project.FullName);
}
else
{
MessageBox.Show( "The first project is not a Visual Basic or C# project.");
}
}