Поделиться через


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 (Унаследовано от VSProject.)
Открытое свойство BuildManager Получает объект BuildManager объекта VSProject.
Открытое свойство DTE (Унаследовано от VSProject.)
Открытое свойство DTE Возвращает объект расширения верхнего уровня.
Открытое свойство Events (Унаследовано от VSProject.)
Открытое свойство Events Получает объект VSProjectEvents, который позволяет реагировать на события объектов Imports, References и BuildManager.
Открытое свойство Events2 Получает объект VSProjectEvents2, который позволяет реагировать на события объектов Imports, References, BuildManager и VSLangProjWebReferencesEvents.
Открытое свойство Imports (Унаследовано от VSProject.)
Открытое свойство Imports Получает объект Imports, связанный с проектом.Для проектов на языке C# свойство Imports имеет значение Nothing (ссылка nullссылка NULL (Nothing в Visual Basic)).
Открытое свойство Project (Унаследовано от VSProject.)
Открытое свойство Project Получает универсальный объект Project, связанный с проектом Visual Basic или Visual C#.
Открытое свойство PublishManager Получает объект PublishManager, что разрешает публикацию ClickOnce.
Открытое свойство References (Унаследовано от VSProject.)
Открытое свойство References Получает коллекцию References для проекта.
Открытое свойство TemplatePath (Унаследовано от VSProject.)
Открытое свойство TemplatePath В Microsoft Visual Studio 2005 это свойство не рекомендуется к использованию.Взамен рекомендуется использовать GetProjectItemTemplate.
Открытое свойство WebReferencesFolder (Унаследовано от VSProject.)
Открытое свойство WebReferencesFolder Получает объект ProjectItem, представляющий папку веб-ссылок проекта.Если эта папка не существует, свойство возвращает значение Nothing (ссылка nullссылка NULL (Nothing в Visual Basic)).
Открытое свойство WorkOffline (Унаследовано от VSProject.)
Открытое свойство WorkOffline Указывает способ работы веб-проекта: в сети или автономно.При автономной работе разработка продолжается на автономно хранящихся файлах проекта, поэтому файлы проекта на сервере не изменяются.

В начало страницы

Методы

  Имя Описание
Открытый метод AddWebReference(String) (Унаследовано от VSProject.)
Открытый метод AddWebReference(String) Добавляет ссылку на веб-службу этого проекта.В папку веб-ссылок проекта добавляется новая вложенная папка ссылок на веб-службу.В этой новой папке содержится несколько других элементов проекта, относящихся к веб-службе.Метод возвращает объект ProjectItem, связанный с новой папкой веб-службы.
Открытый метод CopyProject(String, String, prjCopyProjectOption, String, String) (Унаследовано от VSProject.)
Открытый метод CopyProject(String, String, prjCopyProjectOption, String, String) Копирует некоторую часть веб-проекта или весь веб-проект в новое расположение.
Открытый метод CreateWebReferencesFolder() (Унаследовано от VSProject.)
Открытый метод CreateWebReferencesFolder() Создает папку веб-ссылок для проекта.
Открытый метод Exec(prjExecCommand, Int32, Object, Object%) (Унаследовано от VSProject.)
Открытый метод Exec(prjExecCommand, Int32, Object, Object%) Инфраструктура. Только для внутреннего использования в корпорации Майкрософт.
Открытый метод GenerateKeyPairFiles(String, String) (Унаследовано от VSProject.)
Открытый метод GenerateKeyPairFiles(String, String) Создает файл открытого/закрытого ключа, используемый для формирования строгого имени для сборки.
Открытый метод GetUniqueFilename(Object, String, String) (Унаследовано от VSProject.)
Открытый метод GetUniqueFilename(Object, String, String) Создает уникальное имя файла в проекте.Используется для именования новых элементов проекта.
Открытый метод Refresh() (Унаследовано от VSProject.)
Открытый метод 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."); 
    } 
}

См. также

Ссылки

VSLangProj80 - пространство имен

VSProject