-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
This topic is for general discussion of the Visual Studio extension for Excel-DNA.
We can create individual issues for specific work items as these are more clearly defined.
My thoughts for the first iteration of the VS extension:
- The first iteration of the extension is mainly about project and item templates, and some related tools for setting up and managing an Excel-DNA add-in solution.
- We are building this for the Excel-DNA v1.1 generation, so this always targets .NET Framework. (There are some future plans for Excel-DNA to target .NET 5, and have a different model for loading the add-ins.)
- We want to support both C# and VB.NET (and possibly F# where this is easy, but it's not an initial priority).
- There are different solution and project layouts we should define and then make easy to build and configure. For example:
- Simplest add-in is just a Class Library that has the
ExcelDna.AddInNuGet package installed. - A complicated solution might have:
- an implementation Class Library project which does not reference Excel-DNA at all, with the core code, and other references
- a Test project that does unit testing of the implementation library, and
- an add-in Class Library that references Excel-DNA and the implementation library, and adds the functions and add-in specific feature that are relevant to the Excel addin part of the project.
- possible other projects that also reference the implementation library, like a GUI front-end.
- Simplest add-in is just a Class Library that has the
- There are different features that an Excel-DNA add-in project might have, and that we want to make easy to add. For example:
- Have a reference to the Excel PIA assemblies installed (perhaps with an option about the version).
- Runtime-registration of functions using the Excel-DNA Registration extensions - with some related features
- Support for a Ribbon extension, perhaps with ribbon definitions in a separate xml file that is embedded as a resource
- Support for one or more CTP, with some help in setting up the WinForms // WPF // WebView and maybe dealing with a CTP that is linked to a workbook.
- Documentation support through ExcelDnaDoc (which also needs the help compiler tools to be installed - I can't remember if the NuGet package does this automatically).
- Embedding of the IntelliSense library
- We might consider whether to interact with the .dna file that defines an add-in, for example can we help manage the list of
<Reference ... Pack='true' \>tags to help with the packing.
General extension features:
- I'd like to understand the options for licensing of the extension, particularly how we link the extension to a back-end user id and authorization to use the extension. Does the VSIX model have any built-in support for licensing?
- I'd like to understand the options for building in some telemetry into the extension, so that we might get information about how many add-ins are created, and what aspects are used. This should be anonymous and optional to the user so they can opt out.
Future topics, not for the first iteration:
- Setting up an installer project (from the WiXInstaller) is not for the first iteration, but perhaps for future work.
- Improve debugging cycle through some unloading / reloading link to a 'live' Excel instance. There are some debugger implications to this too.
- A test framework for integration testing of add-ins.
Metadata
Metadata
Assignees
Labels
No labels