How to develop a Microsoft Office AddIn without Visual Studio

Iain Sproat picture Iain Sproat · Dec 7, 2011 · Viewed 25.6k times · Source

I'm trying to develop an MS Office Addin in C# .Net and I don't have access to Visual Studio. Instead I'm using SharpDevelop as my IDE, (but my question is equally relevant to anyone developing using any other IDE or compiling from the command line...)

I've done a bit of searching for guides on how to develop AddIns, but they all seem to require Visual Studio and follow these steps:

  1. Install the Interop Assemblies
  2. Create a Visual Studio .Net Project (I'm unable to do this bit)
  3. Extend the VS ThisAddIn template

What I've managed to do is to:

  1. Install the Interop Assemblies
  2. Create a C# empty SharpDevelop project
  3. Add a GAC reference to Microsoft.Office.Interop.Outlook
  4. Add a COM reference to Microsoft Office 12.0 Object Library
  5. add the line using Outlook = Microsoft.Office.Interop.Outlook;
  6. and the line using Office = Microsoft.Office.Core;
  7. Look at some example code and realise that they all refer to VS templates and VSTO libraries (Microsoft.Office.Tools) which I don't have.

Where do I go from here? Is there a guide/tutorial I've missed, or can someone provide some pointers?

Answer

Govert picture Govert · Dec 8, 2011

NetOffice (http://netoffice.codeplex.com or https://osdn.net/projects/netoffice/) is a great set of version-independent interop assemblies for Office. This is all you need to make add-ins using SharpDevelop, and the project has a bunch of tutorials and samples too, including some for Outlook.

If you're making an add-in for Excel using Excel-DNA (which you need to expose user-defined worksheet functions from .NET), NetOffice still gives you a complementary set of libraries for accessing the Excel COM automation interfaces from your Excel-DNA add-in, so they work together well.

For both NetOffice and Excel-DNA, you'll also be able to use the free Visual Studio Express editions (with some small tricks needed to get debugging working). Visual Studio Express does not include VSTO at all. SharpDevelop also has many more features than the Express editions, like built-in refactoring and VB.NET <-> C# translation tools, so there are good reasons to prefer SharpDevelop as your free IDE.