SharpDevelop Community

Get your problems solved!
Welcome to SharpDevelop Community Sign in | Join | Help
in Search

Matt Ward

January 2013 - Posts

  • NuGet Addin for MonoDevelop

    It has been a while since NuGet support was added to SharpDevelop so, after David Fowler announced that he had got NuGet building under Mono, I had a look at porting the SharpDevelop addin over to MonoDevelop and created a NuGet addin for MonoDevelop.

    The addin provides a Manage Packages dialog that you can use to add, remove and update NuGet packages in a similar way to Visual Studio or SharpDevelop. Here is a screenshot of the Manage Packages dialog open in MonoDevelop running on OpenSuse 12.2

    Manage Packages Dialog with package operation messages

    The addin has been tested with the following:

    • MonoDevelop 3.0.5
    • Mono 2.10.9
    • OpenSuse 12.2
    • Windows 7

    The addin uses a slightly customised version of NuGet.Core based on the original NuGet's source code available from the mono-build branch. The source code for this customised NuGet.Core is available on GitHub.

    Getting the Addin

    The addin's source code is available on GitHub.

    The addin is also provided as a pre-compiled binary available to download from a custom MonoDevelop repository:

    You can add this repository to MonoDevelop via the Add-in Manager.

    Please note that the addin is a beta release and more work is still to be done.

    Manage Packages Dialog

    The Manage Packages Dialog can be opened from the Projects menu by selecting Manage NuGet Packages.

    It can also be opened by selecting the Solution window, right clicking either the solution, the project or the project's references and selecting Manage NuGet Packages.

    As a NuGet package is installed or uninstalled you can see the package operations that executed by expanding the Messages section near the bottom of the dialog.

    Manage Packages Dialog with package operation messages

    Configuring Package Sources

    NuGet Package Sources can be configured in MonoDevelop's options.

    Configuring NuGet Package Sources in MonoDevelop's Options

    In Linux you can open the options dialog by selecting Preferences from the Edit menu. In Windows you can select Options from the Tools menu. In the Options dialog scroll down the categories on the left hand side until you find NuGet and then select Package Sources. Here you can add and remove NuGet package sources.


    Any PowerShell scripts in a NuGet package will be ignored by the addin since Mono does not currently have support for them.

    There have been some attempts to implement PowerShell on Mono starting with Igor Moochnick who created Pash in 2008. Work on this was picked up by Jonathan Ben-Joseph but that work stopped. The latest effort on bringing PowerShell to Mono is Jay Bazuzi with recent work done on the Pash source code available on GitHub.

    There was also some discussion in the NuGet forums on allowing some way of being able to write a .NET version of the PowerShell scripts (install.ps1, uninstall.ps1 and init.ps1).

Powered by Community Server (Commercial Edition), by Telligent Systems
Don't contact us via this ( email address.