ProjectItem.Save Method
Saves the project or project item.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
Sub Save ( _
FileName As String _
)
void Save(
string FileName
)
void Save(
String^ FileName
)
abstract Save :
FileName:string -> unit
function Save(
FileName : String
)
Parameters
FileName
Type: System.StringOptional. The name with which to save the project or project item.
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.
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);
}
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
Other Resources
How to: Compile and Run the Automation Object Model Code Examples