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: System.String
    Required. The file name in which to save the solution. If the file exists, it is overwritten.

Implements

_Solution.SaveAs(String)

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