Aracılığıyla paylaş


IVsSolution.CreateProject Yöntem (Guid, String, String, String, UInt32, Guid, IntPtr)

 

Bir proje açar veya oluşturur.

Ad Alanı:   Microsoft.VisualStudio.Shell.Interop
Derleme:  Microsoft.VisualStudio.Shell.Interop (Microsoft.VisualStudio.Shell.Interop.dll içinde)

Sözdizimi

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

Parametreler

  • rguidProjectType
    Type: System.Guid

    [in] Proje Fabrika kaydedildiğinde elde proje türü için benzersiz tanımlayıcı. GUID_NULL için bir değer olabilir lpszMoniker belirtilir. Bu parametre oluşturmak veya çözüme eklemek için proje türünü belirtir. Değer GUID_NULL ise, ortam dosya uzantısına bağlı proje türünü belirlemeye çalışır.

  • lpszMoniker
    Type: System.String

    [in] Dosya adı işaretçisi. Ardından bu yöntem, bir projeyi açmak için kullanılırsa, yolun projeye (proje adı ve dosya uzantısı dahil) diskte belirtin. Yöntemi, bir proje oluşturmak için kullanılıyorsa, ardından kopyalanmış şablon dosyasının tam yolu belirtin.

  • lpszLocation
    Type: System.String

    [in] Yeni proje için konum belirtme yolu işaretçisi. Bu parametre yalnızca CPF_CLONEFILE için belirtilen grfCreateFlags parametresi; Aksi halde kalır null (için Proje Aç). Proje-tabanlı proje ise, ardından bu proje için dizindir. Bu dizinde proje için proje dosyasına kaydedilir. Proje-tabanlı değilse, bu konum yalnızca proje dosyasını kaydedin ve belki de yeni oluşturulan öğeler için varsayılan dizin olarak kullanılan.szLocation Parametresi her zaman eğik çizgi (\) içerecek şekilde tanımlanır. Ardından, proje dosyasının yol adı oluştururken "C:\MyProjects\Project1" ve "C:\" görünümleri yolları aramak proje Fabrika yok.

  • lpszName
    Type: System.String

    [in] Yeni proje adı işaretçisi. Bu parametre yalnızca CPF_CLONEFILE için belirtilen grfCreateFlags parametresi; Aksi halde kalır null (için Proje Aç). Proje adı bir dosya uzantısı içermez.

  • grfCreateFlags
    Type: System.UInt32

    [in] Bir proje nasıl oluşturulduğunda veya açıldığında denetler. Bir listesi için grfCreateFlags değerler, bakın __VSCREATEPROJFLAGS.

  • iidProject
    Type: System.Guid

    [in] Tanımlayıcı döndürülen arabirim ppProject. Bu değer döndürebilir belirtmek için IID_NULL olabilir.

  • ppProject
    Type: System.IntPtr

    [out, iid_is(iidProject)] Yeni oluşturulan projeyi işaretçisi.

Dönüş Değeri

Type: System.Int32

Yöntem başarılı olursa, döndürür S_OK. Başarısız olursa, bir hata kodu döndürür.

Notlar

COM imza

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
);

Bu yöntem yeni bir proje oluşturmak için kullanıyorsanız, ardından için değerler sağlayın lpszMoniker, lpszLocation, ve lpszName. Varolan bir projeyi sonra açmak için bu yöntemi kullanıyorsanız, lpszLocation, ve lpszName olan null.

Bu yöntem oluşturma işler ve açılış proje yalnızca dosyaları ve diğer bir deyişle, bir çözüm dosyası açılmasını SLN, DSW veya VBG uzantılı dosyalar desteklemez. Bu dosya türlerini açılmasını tarafından gerçekleştirilir OpenSolutionFile yöntemi.

Yeni proje oluşturma boş var olan bir proje kopyalama tarafından gerçekleştirilir. Ortam VSPackage dosya uzantısına göre bu yöntemi çağıran belirler.

Her iki CPF_CLONEFILE ve CPF_OVERWRITE belirtilirse, projenin hedef projesi dosyasının üzerine yazar. Varsa CPF_OVERWRITE belirtilmezse, belirli bir HRESULT, VS_E_PROJECTALREADYEXISTS, bu yöntemi tarafından döndürülen. Ardından ortamın görüntüler Bu proje zaten iletişim kutusu. Proje dosyasının üzerine yazmak kullanıcı seçerse, ortamı çağırır CreateProject yöntemi hem de belirterek yeniden CPF_CLONEFILE ve CPF_OVERWRITE.

Bu yöntem kullanıcı arabirimini sürece görüntüleyebilirsiniz CPF_SILENT bayrağı belirtildi. Bu yöntem kullanıcıya hata iletileri rapor. Bu yöntem ortamın standart hata raporlama kuralları kullanır; çağıran SetErrorInfo oluşur ve bir hata verir hata kaydetmek için yöntemi HRESULT. Arayan sonuçta çağırır ReportErrorInfo hata iletisini görüntülemek için yöntemi.

Bu yöntem, hata döndürdüğünde HRESULT, onu çağıran SetErrorInfo ilgili VSPackage veya proje yüklenemedi bilgi sağlamak için yöntem ve neden. Bu yöntemi çağıran kullanabilirsiniz ReportErrorInfo Bu hata iletisini kullanıcıya göstermek için yöntemi.

Ayrıca bkz.

IVsSolution Arabirim
Microsoft.VisualStudio.Shell.Interop Ad Alanı

Başa dön