I get the error below when I try to create a new project. I've upgraded to CTP2. Error:
The expression """.Substring(0, 6)" cannot be evaluated. Index and length must refer to a location within the string. Paramter name:
length
C:\USERS\ME\AppData\Roaming\npm\node_modules\vs-mda-targets\Microsoft.MDA.targets
When this error occurs and I check the solution folder, no project has been created.
Quite a few of our devs had to solve this one on our team, so I created a script to fix this for them after the upgrade to CTP3. It basically does what Ellen's solution does, but it does it automatically by looking up the Registry entry for the VS Extension path :)
Create a .cmd file with the following contents:
Run this file and it should uninstall and reinstall the npm packages correctly for you!
PS. You will obviously need npm to be part of your system path.
With VS closed, in a command window, run
npm -g uninstall vs-mda
andnpm -g uninstall vs-mda-targets
Check to see if this removed the vs-mda and vs-mda-targets folders under
C:\Users\YOUR-USER-NAME\AppData\Roaming\npm\node_modules\
If it didn't, you can delete those folders manually.
Then relaunch VS and create an MDHA project. It should work successfully.
If you get an error on project creation saying that the MDA targets were not found, you can manually install 'vs-mda' & 'vs-mda-targets' from under Visual Studio's Extension folder to get things working again.
Exit Visual Studio and on the drive where Visual Studio is installed, navigate to
%Program Files%\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\uxbwjkun.gjn*\packages
Here you will find two folders "vs-mda" and "vs-mda-targets"
Now from here run
npm -g install <full path to current folder>\vs-mda
andnpm -g install <full path to current folder>\vs-mda-targets
When issuing this command it's necessary to give it the explicit path to the vs-mda and vs-mda-targets folders under the VS installation in %Program Files%.
Relaunch and create a new MDHA project.