Share via


Solution2.SaveAs Method

Saves the solution.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
Sub SaveAs ( _
    FileName As String _
)
void SaveAs(
    string FileName
)
void SaveAs(
    [InAttribute] String^ FileName
)
abstract SaveAs : 
        FileName:string -> unit
function SaveAs(
    FileName : String
)

Parameters

  • FileName
    Type: String

    Required. The file name in which to save the solution. If the file exists, it is overwritten.

Remarks

SaveAs saves the solution with the specified file name.

Examples

For information on how to run this add-in code, see How to: Compile and Run the Automation Object Model Code Examples.

The following example shows how to create and save a solution.

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

Sub SaveAsExample(ByVal dte As DTE2)
    ' This add-in creates a solution and then saves it.
    ' Create the full path to NewSolution.sln.
    Dim tempPath As String = System.IO.Path.GetTempPath()
    Dim solnName As String = "NewSolution"
    Dim solnPath As String = tempPath & solnName & ".sln"
    Dim soln As Solution2 = _
    CType(_applicationObject.Solution, Solution2)

    Try

        If MsgBox("Solution " & solnPath & " doesn't exist. " & _
            "Create it?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
           ' Create and save NewSolution.sln.
            dte.Solution.Create(tempPath, solnName)
            dte.Solution.SaveAs(solnPath)
        End If
    Catch ex As SystemException
        MsgBox("ERROR: " & ex.ToString())
    End Try

End Sub
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.
    SolnSaveAsExample((DTE2)_applicationObject);
}

public void SolnSaveAsExample(DTE2 dte)
{
    // This add-in creates a solution and saves it.
    string tempPath = System.IO.Path.GetTempPath();
    string solnName = "NewSolution";
    string solnPath = tempPath + solnName + ".sln";
    Solution2 soln = (Solution2)_applicationObject.Solution;

    try
    {
        if (MessageBox.Show("Solution " + solnPath +
        " doesn't exist. " + "Create it?", "",
        MessageBoxButtons.YesNo) == DialogResult.Yes)
        {
            // Create and save NewSolution.sln.
            dte.Solution.Create(tempPath, solnName);
            dte.Solution.SaveAs(solnPath);
        }
    }
    catch (SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

.NET Framework Security

See Also

Reference

Solution2 Interface

EnvDTE80 Namespace

Other Resources

How to: Compile and Run the Automation Object Model Code Examples