Udostępnij za pośrednictwem


Metoda IVsSolution2.CreateProject — (Guid, String, String, String, UInt32, Guid, IntPtr)

 

Tworzy lub otwiera projekt.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

int CreateProject(
    [InAttribute] ref Guid rguidProjectType,
    string lpszMoniker,
    string lpszLocation,
    string lpszName,
    uint grfCreateFlags,
    [InAttribute] ref Guid iidProject,
    out IntPtr ppProject
)
int CreateProject(
    [InAttribute] Guid% rguidProjectType,
    String^ lpszMoniker,
    String^ lpszLocation,
    String^ lpszName,
    unsigned int grfCreateFlags,
    [InAttribute] Guid% iidProject,
    [OutAttribute] IntPtr% ppProject
)
abstract CreateProject : 
        rguidProjectType:Guid byref *
        lpszMoniker:string *
        lpszLocation:string *
        lpszName:string *
        grfCreateFlags:uint32 *
        iidProject:Guid byref *
        ppProject:nativeint byref -> int
Function CreateProject (
    <InAttribute> ByRef rguidProjectType As Guid,
    lpszMoniker As String,
    lpszLocation As String,
    lpszName As String,
    grfCreateFlags As UInteger,
    <InAttribute> ByRef iidProject As Guid,
    <OutAttribute> ByRef ppProject As IntPtr
) As Integer

Parametry

  • rguidProjectType
    [w] Unikatowy identyfikator typu projektu, uzyskane podczas fabrycznej projektu jest zarejestrowany.Może być GUID_NULL, jeśli wartość dla lpszMoniker jest określony.Ten parametr wskazuje typ projektu, aby utworzyć lub dodać do roztworu.Jeśli wartość jest GUID_NULL, środowiska podejmie próbę określenia typu projektu na podstawie rozszerzenia pliku.
  • lpszMoniker
    [w] Wskaźnik moniker pliku.Jeśli ta metoda jest używana, aby otworzyć projekt, określić ścieżkę do projektu, na dysku (w tym rozszerzenie nazwy i pliku projektu).Jeśli metoda jest używany do tworzenia projektu, następnie określić pełną ścieżkę do pliku szablonu, który będzie klonowany.
  • lpszLocation
    [w] Wskaźnik do ścieżki, określając lokalizację dla nowego projektu.Ten parametr jest używany tylko wtedy, gdy CPF_CLONEFILE jest określony dla grfCreateFlags parametr; w przeciwnym razie jest null (dla otwartego projektu).Jeśli projekt jest katalogu projektu, to katalog dla projektu.Plik projektu dla projektu jest zapisywany w tym katalogu.Jeśli projekt nie jest oparte na katalogu, ta lokalizacja jest używane tylko do zapisywania pliku projektu i prawdopodobnie jako domyślny katalog dla nowo utworzonych elementów.szLocation Parametr jest zdefiniowana do zawsze zawierać znaku kreski ułamkowej (\).Następnie fabryki projektu nie ma szukać ścieżki, które mają postać "C:\" i "C:\MyProjects\Project1", przy konstruowaniu nazwa ścieżki pliku projektu.
  • lpszName
    [w] Wskaźnik na nową nazwę projektu.Ten parametr jest używany tylko wtedy, gdy CPF_CLONEFILE jest określony dla grfCreateFlags parametr; w przeciwnym razie jest null (dla otwartego projektu).Nazwa projektu nie zawiera rozszerzenia pliku.
  • grfCreateFlags
    [w] Określa, jak utworzyć lub otworzyć projektu.Aby uzyskać listę grfCreateFlags wartości, zobacz __VSCREATEPROJFLAGS.
  • iidProject
    [w] Zwrócony identyfikator interfejsu ppProject.Wartość ta może być ma wartości iid_NULL, aby określić bez powrotu.
  • ppProject
    [out, iid_is(iidProject)] Wskaźnik do nowo utworzonego projektu.

Wartość zwracana

Type: System.Int32

Jeśli metoda się powiedzie, zwraca S_OK.Jeśli nie powiedzie się, zwraca kod błędu.

Implementuje

IVsSolution.CreateProject(Guid, String, String, String, UInt32, Guid, IntPtr)

Uwagi

Podpis COM

Z vsshell.idl:

HRESULT IVsSolution2::CreateProject(
   [in] REFGUID rguidProjectType, 
   [in] LPCOLESTR lpszMoniker, 
   [in] LPCOLESTR lpszLocation, 
   [in] LPCOLESTR lpszName, 
   [in] VSCREATEPROJFLAGS grfCreateFlags, 
   [in] REFIID iidProject, 
   [out, iid_is(iidProject)] void **ppProject
);

Jeśli używasz tej metody do utworzenia nowego projektu, następnie podaj wartości dla lpszMoniker, lpszLocation, i lpszName.Jeśli używasz tej metody do otwierania istniejącego projektu, następnie lpszLocation, i lpszNamenull.

Ta metoda obsługuje tworzenie i otwieranie projektu tylko pliki i nie obsługuje otwarcia pliku rozwiązania, to znaczy pliki z rozszerzeniem SLN, DSW lub VBG.Otwarcie tych typów plików jest obsługiwany przez OpenSolutionFile metody.

Tworzenie nowego projektu można to osiągnąć przez klonowanie istniejącego projektu, który jest pusty.Określa środowisko, które IVsPackage wywołuje metodę, w tym na podstawie rozszerzenia pliku.

Jeśli oba CPF_CLONEFILE i CPF_OVERWRITE podano projektu powoduje zastąpienie docelowego pliku projektu.Jeśli CPF_OVERWRITE nie jest określony, HRESULT szczególnych, VS_E_PROJECTALREADYEXISTS, jest zwracana z tej metody.Środowisko następnie wyświetla Ten projekt już istnieje okno dialogowe.Jeśli użytkownik wybierze opcję zastąpienia pliku projektu, wywołuje środowiska M:Microsoft.VisualStudio.Package.ProjectFactory.CreateProject metody ponownie, określając zarówno CPF_CLONEFILE i CPF_OVERWRITE.

Tej metody można wyświetlić interfejs użytkownika, chyba że CPF_SILENT jest podana flaga.Metoda ta nie powinna sprawozdanie komunikaty o błędach użytkownika.Ta metoda używa Konwencji zgłoszenie błędu standardowego środowiska; wywołuje SetErrorInfo metodę, aby zarejestrować błąd występuje, a następnie zwraca błąd HRESULT.Obiekt wywołujący ostatecznie wywołuje ReportErrorInfo metodę, aby wyświetlić komunikat o błędzie.

Gdy metoda ta zwraca błąd HRESULT, wywołuje SetErrorInfo metody dostarczenia informacji o tym, które VSPackage lub w projekcie nie można załadować i dlaczego.Obiekt wywołujący tej metody można użyć ReportErrorInfo metody, aby wyświetlić ten komunikat o błędzie do użytkownika.

Zobacz też

Interfejs IVsSolution2
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku