Udostępnij za pośrednictwem


Metoda Solution2.GetProjectTemplate —

Zwraca ścieżkę do szablonu projektu wskazane.

Jeśli szablon ma wyższy niż 4.0 element RequiredFrameworkVersion, tak aby wyszukiwania dla szablonu znajdzie dopasowanie powinny zapewnić wersji w wywołaniu.Na przykład, zamiast telefonicznej GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); call GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.

Przestrzeń nazw:  EnvDTE80
Zestaw:  EnvDTE80 (w EnvDTE80.dll)

Składnia

'Deklaracja
Function GetProjectTemplate ( _
    TemplateName As String, _
    Language As String _
) As String
string GetProjectTemplate(
    string TemplateName,
    string Language
)
String^ GetProjectTemplate(
    String^ TemplateName, 
    String^ Language
)
abstract GetProjectTemplate : 
        TemplateName:string * 
        Language:string -> string
function GetProjectTemplate(
    TemplateName : String, 
    Language : String
) : String

Parametry

  • TemplateName
    Typ: String

    Nazwa szablonu.

  • Language
    Typ: String

    Język używany do napisania szablonu.

Wartość zwracana

Typ: String
Pełna nazwa szablonu projektu.

Uwagi

Szablony projektów są przechowywane jako pliki zip.Ta metoda prosi o podanie nazwy i języka projektu i zwraca ścieżkę do szablonu.

Parametry GetProjectTemplate mogą być dostarczane na wiele różnych sposobów, jak pokazano poniżej:

  • Przekazanie w "CSharp" jako Language parametr i nazwę pliku zip jako TemplateName.

    GetProjectTemplate("PocketPC2003-ClassLibrary.zip", "CSharp");
    
  • Przekazanie w "CSharp" jako Language parametr i ścieżkę do pliku częściowe; " PocketPC2003\ClassLibrary.vstemplate", aby jednoznacznie określić TemplateName.

    GetProjectTemplate("PocketPC2003\ClassLibrary.vstemplate", "CSharp");//partial file path
    
  • Przekazać w ciągu "Języka CSharp" jako Language parametr, a ciąg "Pocket PC 2003 Class Library" for TemplateName parametru.Ciąg "Pocket PC 2003 Class Library" jest pochodną hierarchię folderów i jest określany jako ciąg interfejsu użytkownika.Inne przykłady ciągów interfejsu użytkownika są "Konsoli aplikacji" i "Windows".

    [!UWAGA]

    Ciągi interfejsu użytkownika zależą od ustawień regionalnych.Wykorzystanie nazwy pliku zip jest najbezpieczniejszym sposobem przekazywania parametru TemplateName.

    GetProjectTemplate("Pocket PC 2003 Class Library", "CSharp");
    
  • Przekazać w ciągu "Języka CSharp" jako Language parametr i ciąg "PocketPC2003\Pocket PC 2003 Class Library" dla TemplateName parametru.Obejmuje to ciąg interfejsu użytkownika i częociową ocieżkę do jednoznacznie określić szablon.

    GetProjectTemplate("PocketPC2003\Pocket PC 2003 Class Library", "CSharp");
    

Można również utworzyć swoje własne szablony niestandardowe projektu.Aby określić katalog, w którym będą przechowywane szablony, kliknij przycisk Opcje w menu Narzędzia.W lewym okienku okna dialogowego Opcje, kliknij przycisk Projekty i rozwiązania.Wpisz ścieżkę dla szablonów w Lokalizacja szablonów projektu Visual Studio użytkownika pole.Alternatywnie można zaakceptować domyślne lokalizacje.

Szablony niestandardowe wymagają unikatowych nazw plików, które nie wchodzą w konflikt z nazwami plików określonych w:

  • <dysk>: \Program Files\Microsoft Visual Studio 8\Common7\IDE\ProjectTemplates\języka

Upewnij się, że używasz długich nazw plików (w przeciwieństwie do 8dot3).Aby uzyskać więcej informacji, zobacz Creating Project and Item Templates.

Przykłady

Więcej informacji na temat uruchamiania tego kodu dodatku: Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.

Poniższy przykład pokazuje, jak utworzyć rozwiązanie, a następnie dodać do niego projekt aplikacji konsoli.

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)
    SolutionExample(_applicationObject)
End Sub

Sub SolutionExample(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual Basic Console
    ' project to it.
    Try
        Dim soln As Solution2 = CType(DTE.Solution, Solution2)
        Dim vbTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim vbPrjPath As String = "<file path>"
        MsgBox("starting")
        ' Get the project template path for a Visual Basic console project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Basic Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
        "New Visual Basic Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//make sure to add this reference to your project references
using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    SolutionExample((DTE2)_applicationObject);
}

public void SolutionExample(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution2 soln = (Solution2)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = "<file path>";
    "<file path>MessageBox.Show("Starting...");
"<file path>"<file path>csTemplatePath = 
soln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
        // Create a new C# Console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath,
 "New CSharp Console Project", false);
        MessageBox.Show("Done!");
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

Solution2 Interfejs

Przestrzeń nazw EnvDTE80