Поделиться через


Project.Save - метод

Сохраняет проект или элемент проекта.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
Sub Save ( _
    FileName As String _
)
void Save(
    string FileName
)
void Save(
    String^ FileName
)
abstract Save : 
        FileName:string -> unit 
function Save(
    FileName : String
)

Параметры

  • FileName
    Тип: System.String
    Необязательный параметр.Имя, под которым будет сохранен проект или элемент проекта.

Заметки

Если FileName не может быть записан, например, из-за переполненного диска или отсутствия права на запись, то метод Save вызывает ошибку.Файл сохраняется с новым именем, основанном на FileName.

Внимание!   Save закрывает документ после его сохранения.Объект нужно повторно открыть или инициализировать, если планируется его использовать и дальше.

Примеры

Этот пример работает только в Visual Studio .NET 2003 и более поздних версиях.Дополнительные сведения см. в разделе Практическое руководство. Создание проектов программными средствами.

Sub SaveExample(ByVal dte As DTE)

    ' NOTE: This example requires a reference to the 
    '       VSLangProj namespace.

    ' Create a new solution.
    Dim soln As Solution = dte.Solution
    Dim solnName As String = "NewSolution.sln"
    Dim tempPath As String = System.IO.Path.GetTempPath()
    soln.Create(tempPath, solnName)

    ' Create a new Visual Basic Console Application project.
    Dim templatePath As String = dte.Solution.TemplatePath( _
        PrjKind.prjKindVBProject)
    templatePath &= "ConsoleApplication.vsz"
    Dim projName As String = "NewProject"
    soln.AddFromTemplate(templatePath, tempPath & projName, projName)
    Dim proj As Project = soln.Item(1)

    ' Add a new class to the project.
    templatePath = dte.Solution.ProjectItemsTemplatePath( _
        PrjKind.prjKindVBProject)
    templatePath &= "\Class.vsz"
    Dim projItemName As String = "NewClass.vb"
    Dim projItem As ProjectItem = proj.ProjectItems.AddFromTemplate( _
        templatePath, projItemName)

    ' Add an Imports statement to the class file.
    Dim sel As TextSelection = _
        CType(projItem.Document.Selection, TextSelection)
    sel.StartOfDocument()
    sel.Insert("Imports System.Collections" & vbCrLf & vbCrLf, _
        vsInsertFlags.vsInsertFlagsCollapseToStart)

    ' Save the project item, project, and solution.
    projItem.Save()
    proj.Save(proj.FullName)
    soln.SaveAs(tempPath & solnName)

End Sub
public void SaveExample(DTE dte)
{
    // NOTE: This example requires a reference to the 
    //       VSLangProj namespace.

    // Create a new solution.
    Solution soln = dte.Solution;
    string solnName = "NewSolution.sln";
    string tempPath = System.IO.Path.GetTempPath();
    soln.Create(tempPath, solnName);

    // Create a new C# Console Application project.
    string templatePath = 
        dte.Solution.get_TemplatePath(PrjKind.prjKindCSharpProject);
    templatePath += "CSharpConsole.vsz";
    string projName = "NewProject";
    soln.AddFromTemplate(templatePath, tempPath + projName, 
        projName, false);
    Project proj = soln.Item(1);

    // Add a new class to the project.
    templatePath = dte.Solution.ProjectItemsTemplatePath(
        PrjKind.prjKindCSharpProject);
    templatePath += @"\CSharpAddClassWiz.vsz";
    string projItemName = "NewClass.cs";
    ProjectItem projItem = proj.ProjectItems.AddFromTemplate(
        templatePath, projItemName);

    // Add a using statement to the class file.
    TextSelection sel = (TextSelection)projItem.Document.Selection;
    sel.StartOfDocument(false);
    sel.Insert("using System.Collections;" + Environment.NewLine, 
        (int)vsInsertFlags.vsInsertFlagsCollapseToStart);

    // Save the project item, project, and solution.
    projItem.Save("");
    proj.Save(proj.FullName);
    soln.SaveAs(tempPath + solnName);
}

Безопасность платформы .NET Framework

См. также

Ссылки

Project Интерфейс

EnvDTE - пространство имен

Другие ресурсы

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации