다음을 통해 공유


ProjectItem.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을 기반으로 하는 새 이름을 사용하여 파일이 저장됩니다.

예제

이 예제는 Visual Studio .NET 2003에서만 작동합니다. 자세한 내용은 방법 Migrate Code that Creates Projects by Using Templates을 참조하십시오.

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 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

ProjectItem 인터페이스

EnvDTE 네임스페이스

기타 리소스

방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행