Udostępnij za pośrednictwem


Metoda IVsSolution.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
    Type: System.Guid

    [in] Unikatowy identyfikator typu projektu uzyskane po zarejestrowaniu fabryki projektu. Może być GUID_NULL, jeśli wartość lpszMoniker jest określony. Ten parametr wskazuje typ projektu, aby utworzyć lub dodać do rozwiązania. Jeśli wartość jest GUID_NULL, środowisko próbuje określić typu projektu na podstawie rozszerzenia pliku.

  • lpszMoniker
    Type: System.String

    [in] Wskaźnik do krótkiej nazwy pliku. Jeśli ta metoda jest używany do otwierania projektu, określ ścieżkę do projektu na dysku (w tym rozszerzenia nazwy i plik projektu). Jeśli metoda jest używany do tworzenia projektu, następnie określ pełną ścieżkę do pliku szablonu, który będzie można sklonować.

  • lpszLocation
    Type: System.String

    [in] Wskaźnik do ścieżki, określając lokalizację dla nowego projektu. Ten parametr jest używany tylko wtedy, gdy CPF_CLONEFILE jest określona dla grfCreateFlags parametru; w przeciwnym razie jest null (dla Otwórz projekt). Jeśli projekt jest oparte na katalogu projektu, to jest 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 zapisu pliku projektu i prawdopodobnie jako domyślny katalog dla nowo utworzonego elementów.szLocation Parametr jest zdefiniowany na zawsze zawierać ukośnika (\). Następnie fabryki projektu nie ma szukać ścieżek, które mają postać "C:\" i "C:\MyProjects\Project1" podczas tworzenia nazwa ścieżki pliku projektu.

  • lpszName
    Type: System.String

    [in] Wskaźnik na nową nazwę projektu. Ten parametr jest używany tylko wtedy, gdy CPF_CLONEFILE jest określona dla grfCreateFlags parametru; w przeciwnym razie jest null (dla Otwórz projekt). Nazwa projektu nie ma rozszerzenia pliku.

  • grfCreateFlags
    Type: System.UInt32

    [in] Określa, jak utworzyć lub otworzyć projekt. Aby uzyskać listę grfCreateFlags wartości, zobacz __VSCREATEPROJFLAGS.

  • iidProject
    Type: System.Guid

    [in] Identyfikator zwracanego ppProject. Ta wartość może być wartością iid_NULL, aby określić bez powrotu.

  • ppProject
    Type: System.IntPtr

    [out, iid_is(iidProject)] Wskaźnik do nowo utworzonego projektu.

Wartość zwracana

Type: System.Int32

Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.

Uwagi

Podpis COM

Z vsshell.idl:

HRESULT IVsSolution::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
);

W przypadku utworzenia nowego projektu przy użyciu tej metody Podaj wartości dla lpszMoniker, lpszLocation, i lpszName. Jeśli używasz tej metody, aby następnie otworzyć istniejący projekt, lpszLocation, i lpszNamenull.

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

Tworzenie nowego projektu odbywa się przy klonowaniu istniejący projekt, który jest pusty. Środowisko określa, który VSPackage wywołania tej metody na podstawie rozszerzenia pliku.

Jeśli oba CPF_CLONEFILE i CPF_OVERWRITE są określone projektu zastępuje docelowego pliku projektu. Jeśli CPF_OVERWRITE nie jest określona, określonym HRESULT, VS_E_PROJECTALREADYEXISTS, jest zwracana przez tę metodę. Następnie wyświetla środowiska Ten projekt jest już okno dialogowe. Jeśli użytkownik wybierze opcję zastąpienia pliku projektu, wywołuje środowiska CreateProject Metoda ponownie, określając zarówno CPF_CLONEFILE i CPF_OVERWRITE.

Ta metoda umożliwia wyświetlanie interfejsu użytkownika, chyba że CPF_SILENT określono flagę. Ta metoda nie należy zgłaszać komunikaty o błędach do użytkownika. Metoda ta wykorzystuje konwencje zgłoszenie błędu standardowego środowiska; wywołuje SetErrorInfo metody do rejestrowania błąd występuje, a następnie zwraca błąd HRESULT. Ostatecznie wywołuje obiekt wywołujący ReportErrorInfo wyświetla komunikat o błędzie.

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

Zobacz też

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

Powrót do początku