We are working on a VSPackage in a team, using Visual Studio 2012 and TFS.
The extension works fine on the computer used to create it (through a wizard). On another computer, Visual Studio says that "a project with output type of class library cannot be started directly" when we attempt to run it (with F5).
The output of the project is indeed class library, and pressing F5 on the first machine starts Experimental Instance of Visual Studio with the extension loaded and working.
By looking at %LOCALAPPDATA%\Microsoft\VisualStudio\11.0Exp\Extensions
on the second computer, we see that the extension had been built and there was an attempt of registering it with VS.
We have also created another extension on the second computer and tried to run it on the first machine. It displays the same error.
How can we get the extension to run on computers which were not used to create it?
The Visual Studio package project type adds an additional tab to the project properties view named VISX
. On that tab the Deploy VSIX content to experimental instance for debugging
option is checked by default; that´s the reason why package files are copied to the extensions directory of the current user´s profile after build.
If you want to start Visual Studio using the experimental hive you must customize the Debug
settings of the class library project. Set the Start Action
to Start external program
and select the devenv.exe
file (the file´s location depends on your installation folder) and specify the following commandline arguments:
/rootSuffix Exp
This allows to debug the extension by pressing F5.