Método IVsSolution.CreateProject (Guid, String, String, String, UInt32, Guid, IntPtr)
Publicado: abril de 2016
Cria ou abre um projeto.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
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
Parâmetros
- rguidProjectType
[in] Identificador exclusivo para o tipo de projeto obtido quando a fábrica de projeto é registrada.Pode ser GUID_NULL, se um valor para lpszMoniker é especificado.Este parâmetro indica o tipo de projeto para criar ou adicionar à solução.Se o valor for GUID_NULL, o ambiente tenta determinar o tipo de projeto com base na extensão do arquivo.
- lpszMoniker
[in] Ponteiro para o identificador de origem do arquivo.Se esse método é usado para abrir um projeto, em seguida, especifique o caminho para o projeto no disco (incluindo a extensão de nome e o arquivo de projeto).Se o método estiver sendo usado para criar um projeto, em seguida, especifique o caminho completo para o arquivo de modelo que será clonado.
- lpszLocation
[in] Ponteiro para o caminho que especifica o local para o novo projeto.Este parâmetro é usado somente quando CPF_CLONEFILE é especificado para o grfCreateFlags parâmetro; Caso contrário é null (para abrir projeto).Se o projeto for um projeto baseado em diretório, em seguida, esse é o diretório do projeto.O arquivo de projeto para o projeto é salvo nesse diretório.Se o projeto não for baseada em diretório, esse local é usado somente para salvar o arquivo de projeto e, talvez, como o diretório padrão para itens criados recentemente.O szLocation parâmetro está definido para sempre incluir as barras invertidas (\).Em seguida, a fábrica de projeto não precisa procurar caminhos que se parecem com "C:\" versus "C:\MyProjects\Project1" ao construir o nome do caminho do arquivo de projeto.
- lpszName
[in] Ponteiro para o novo nome do projeto.Este parâmetro é usado somente quando CPF_CLONEFILE é especificado para o grfCreateFlags parâmetro; Caso contrário é null (para abrir projeto).O nome do projeto não inclui uma extensão de arquivo.
- grfCreateFlags
[in] Controla como um projeto é criado ou aberto.Para obter uma lista de grfCreateFlags valores, consulte __VSCREATEPROJFLAGS.
- iidProject
[in] Identificador da retornado ppProject.Esse valor pode ser iid_NULL para não especificar nenhum retorno.
- ppProject
[out, iid_is(iidProject)] Ponteiro para o projeto recém-criado.
Valor de retorno
Type: System.Int32
Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.
Comentários
COM assinatura
De 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
);
Se você estiver usando esse método para criar um novo projeto, em seguida, fornecer valores para lpszMoniker, lpszLocation, e lpszName.Se você estiver usando esse método para abrir um projeto existente, em seguida, lpszLocation, e lpszName são null.
Esse método manipula Criando e abrindo projeto arquivos somente e não suporta a abertura de um arquivo de solução, ou seja, arquivos com uma extensão. SLN, DSW ou VBG.Abrir esses tipos de arquivo é tratado pelo OpenSolutionFile método.
Criar um novo projeto é realizado por meio da clonagem de um projeto existente que esteja vazio.O ambiente determina quais VSPackage chama esse método com base na extensão do arquivo.
Se ambos os CPF_CLONEFILE e CPF_OVERWRITE for especificado, o projeto substitui o arquivo de projeto de destino.Se CPF_OVERWRITE não for especificado, um específico HRESULT, VS_E_PROJECTALREADYEXISTS, é retornado deste método.O ambiente, em seguida, exibe o Este projeto já existe caixa de diálogo.Se o usuário optar por substituir o arquivo de projeto, o ambiente chama o CreateProject método novamente, especificando em ambos CPF_CLONEFILE e CPF_OVERWRITE.
Esse método pode exibir a interface do usuário, a menos que o CPF_SILENT sinalizador for especificado.Este método não deve relatar mensagens de erro para o usuário.Esse método usa as convenções de emissão de relatórios de erro padrão do ambiente; ele chama o SetErrorInfo método para registrar qualquer erro que ocorre e retorna um erro HRESULT.O chamador, por fim, chama o ReportErrorInfo método para exibir a mensagem de erro.
Quando esse método retorna um erro HRESULT, ele chama o SetErrorInfo método para fornecer informações sobre quais VSPackage ou projeto não pôde ser carregado e por quê.O chamador desse método pode usar o ReportErrorInfo método para mostrar essa mensagem de erro para o usuário.
Consulte também
Interface IVsSolution
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo