A few months ago I ran into a problem after updating Visual Studio for Mac, where it would not start. The actual error message (which I retrieved from a log file) said:
Extension node not found in path: /MonoDevelop/Core/WebCredentialProviders
Knowing what I know about complex software, it was unlikely that reinstalling Visual Studio would do anything, because this was probably a configuration issue. Sure enough, a quick inspection in a Terminal window showed that the extensions were there. I figured that there should be a way to re-register the extensions, even if it meant manually editing an XML file.
All macOS applications are bundled into a folder with the extension
.app. Visual Studio for Mac is no different, and for the purpose of this discussion is a rebranded Xamarin Studio. That meant I could also use information found via my favourite search engine, if necessary.
It turns out that there are some useful and relevant command-line tools hidden in the
.app folder, if we know where to look. I didn’t know where to look, so I spent some time spelunking, but eventually discovered that I needed to rebuild the add-in registry with this command in a Terminal window:
/Applications/Visual\ Studio.app/Contents/MacOS/vstool setup rgb
Whoa, what’s vstool?
The key ingredient here is
vstool, and there is a bunch of other stuff we can do with it if something goes wrong. Check this out:
Visual Studio Tool Runner
Usage: vstool [options] ... : Runs a tool.
vstool setup ... : Runs the setup utility.
vstool -q : Lists available tools.
--verbose (-v) Increases log verbosity. Can be used multiple times.
--no-reg-update Skip updating extension registry. Faster but results in
random errors if registry is not up to date.
- build: Project build tool
- dbgen: Parser database generation tool
- project-export: Project conversion tool
- gsetup: Graphical extension setup utility
- archive: Project archiving tool
- insights: AppInsights tool
- mac-bundle: Mac application bundle and installer generator.
- android-sdk-manager: Android SDK Manager and unattended installer.
- device-manager: Android Device Manager.
- run-md-tests: Runs the MonoDevelop unit test suite
The “available tools” listed at the end of the output above are probably worth investigating further down the line.
If you have any neat hacks for Xamarin Studio Visual Studio for Mac you’d like to share, reach out below in the comments.