Excel-DNA / Excel-DNA/DeveloperTools

VS Extension Discussion

Open
#1 9 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

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.AddIn` NuGet 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.
* 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 `` 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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.