ProjectItem.Save(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Saves the project or project item.
void Save(std::wstring const & FileName = "");
[System.Runtime.InteropServices.DispId(118)]
public void Save (string FileName = "");
[<System.Runtime.InteropServices.DispId(118)>]
abstract member Save : string -> unit
Public Sub Save (Optional FileName As String = "")
Parameters
- FileName
- String
Optional. The name with which to save the project or project item.
- Attributes
Examples
This example works only in Visual Studio .NET 2003. For more information, see Migrating 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);
}
Remarks
If FileName
cannot be written, such as when the disk is full or when there are write permission problems, then Save produces an error. The file is saved with a new name based on FileName
.