Thanks. Did mostly what you described and got 'hello' working :)
My Repo is here if you want to see how VS Code is setup to support debugging. Going to implement as many of the 'weird' things that I did and document them and leave this repo avail in case you want to monitor/reference it as it becomes more complete. I'll do my best to search google groups, docs and Excel-DNA github source, but my old .Net Framework add-in used/abused about every feature under the sun, and I don't see a ton of 'VS Code' and or '.NET' questions, so I'll probably be dropping them as new conversations as I get to them.
Couple of follow up questions to your help above
No .dna file
1. If I am going to use the Ribbon UI, and previously I had a .dna file that contained DNA settings and then the nested UI, I just change it to something like the following, where the Ribbon.xml file is an embedded resource and now only contains `customUI` information.
```
[ComVisible( true )]
public class Ribbon : ExcelRibbon
{
public override string GetCustomUI( string RibbonID )
{
var resourceName = "KAT.Extensibility.Excel.AddIn.Resources.Ribbon.xml";
var assembly = Assembly.GetExecutingAssembly();
using var stream = assembly.GetManifestResourceStream( resourceName )!;
using var reader = new StreamReader( stream );
return reader.ReadToEnd();
}
}
```
2. In my original .dna file, I had packing instructions like the following for embedding assemblies, how is that done without a .dna file?
```
<ExternalLibrary Path="BTR.Extensibility.Excel.dll" LoadFromBytes="true" Pack="true" ComServer="true"
ExplicitRegistration="true" ExplicitExports="true"/>
<Reference Path="BTR.Evolution.Core.dll" Pack="true" />
<Reference Path="BTR.Evolution.Data.dll" Pack="true" />
```
3. You gave sample of the `<ExcelAddInFileName>KAT.Extensibility</ExcelAddInFileName>` property that can be used. Is there documentation for all available properties or just discoverable in github source?
Ribbon/ComVisible
1. As you can see in sample above or in my repo, I have Ribbon working with `ComVisible` attribute. In my original add-in, I had the following two settings in AssemblyInfo.cs, is anything like that needed in .NET core version? I may have been using those settings for something I don't remember yet but will come across.
```
[assembly: ComVisible( false )]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid( "d2b91799-c2d2-471c-945a-8ffd5262390c" )]
```
2. In your
ribbon sample you use `MessageBox.Show`. I see you have a "using", but how did you get access to that namespace? Is that from the "Microsoft.Windows.Compatibility" package? I discovered the
<UseWindowsForms>true</UseWindowsForms> csproj property to make this work. Is one method preferred over another?