Hi all,
I'm working on an SDK for supporting a novel programming language in Visual Studio 2015, using the Common Project System. This SDK includes project templates, MSBuild integration, and a syntax highlighter/completion hint suite. Everything works fine on my development Experimental instance, but upon installing to another machine (or upon trying to clean install on my own machine) things go a bit pear shaped.
The project templates work fine, MSBuild integration mostly works (except where it relies on custom properties exposed by my VSPackage C# assembly), and the syntax highlighting is utterly non-functional. If I run `devenv.exe /log` I see that my DLL is loaded and even makes it to package initialization:
| 2519 | Begin package load [Epoch Language support for Visual Studio] | {810995A0-58DB-46B3-B4EF-9414900DF348} | VisualStudio | 2016/11/14 00:36:40.073 | ||
| 2520 | End package load [Epoch Language support for Visual Studio] |
Unfortunately, VS "in the wild" behaves as if the code is not executed at all. The global properties for MSBuild are unavailable, and the code in my IProjectGlobalPropertiesProvider-derived class is not invoked. I've tested breakpoints, MessageBox calls, and writing log files to disk - nothing happens. This is also true of the syntax highlighting/completion code.
Am I missing something obvious here? It's like the extension is installed but simply not running. Inspecting the devenv.exe /log output yields no hints, and the IDE itself shows no errors or warnings. It simply doesn't execute code from my extension.
Some potentially useful additional facts:
- I cannot use a VSIX installer because I need to install a compiler to ProgramFiles as well as some MSBuild targets. Therefore I'm using an MSI which extracts the files and then runs devenv.exe /setup to try and get them registered.
- I'm attempting to install for all users using ProgramFiles, although installing in AppData also has the same exact behavior.
- Again this all works perfectly fine if I debug under the Experimental instance. If I attach a debugger to a non-Experimental instance I see no exceptions thrown that seem relevant to my extension.
Any/all advice appreciated.