Visual studio 2013 无法创建新项目(VS2013和多混合设备应用程序)

Visual studio 2013 无法创建新项目(VS2013和多混合设备应用程序),visual-studio-2013,multi-device-hybrid-apps,Visual Studio 2013,Multi Device Hybrid Apps,当我尝试创建一个新项目时,我得到以下错误。我已升级到CTP2。 错误: 无法计算表达式“”。子字符串(0,6)”。索引和长度必须引用字符串中的位置。参数名称: 长 C:\USERS\ME\AppData\Roaming\npm\node\u modules\vs mda targets\Microsoft.mda.targets 出现此错误时,我检查解决方案文件夹时,未创建任何项目。关闭VS后,在命令窗口中运行 npm-g卸载与mda和npm-g卸载与mda目标 检查是否删除了 C:\Use

当我尝试创建一个新项目时,我得到以下错误。我已升级到CTP2。 错误:


无法计算表达式“”。子字符串(0,6)”。索引和长度必须引用字符串中的位置。参数名称:
长
C:\USERS\ME\AppData\Roaming\npm\node\u modules\vs mda targets\Microsoft.mda.targets


出现此错误时,我检查解决方案文件夹时,未创建任何项目。

关闭VS后,在命令窗口中运行
npm-g卸载与mda
npm-g卸载与mda目标

检查是否删除了
C:\Users\YOUR-USER-NAME\AppData\Roaming\npm\node\u modules\

如果没有,您可以手动删除这些文件夹

然后重新启动VS并创建一个MDHA项目。它应该能成功运作

如果在项目创建过程中出现错误,表示未找到MDA目标,则可以从Visual Studio的扩展文件夹下手动安装“vs MDA”和“vs MDA targets”,以使其重新工作

退出Visual Studio,然后在安装Visual Studio的驱动器上导航到
%ProgramFiles%\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\uxbwjkun.gjn*\packages

在这里,您将找到两个文件夹“vs mda”和“vs mda目标”

  • 请注意,uxbwjkun.gjn将不是确切的文件夹名称,但请查找包含文件夹包的类似名称
现在从这里运行
npm-g安装\vs mda
npm-g安装\vs mda目标

发出此命令时,需要在%Program Files%中为其提供vs安装下vs mda和vs mda目标文件夹的显式路径


重新启动并创建新的MDHA项目

关闭VS后,在命令窗口中运行
npm-g卸载与mda
npm-g卸载与mda目标

检查是否删除了
C:\Users\YOUR-USER-NAME\AppData\Roaming\npm\node\u modules\

如果没有,您可以手动删除这些文件夹

然后重新启动VS并创建一个MDHA项目。它应该能成功运作

如果在项目创建过程中出现错误,表示未找到MDA目标,则可以从Visual Studio的扩展文件夹下手动安装“vs MDA”和“vs MDA targets”,以使其重新工作

退出Visual Studio,然后在安装Visual Studio的驱动器上导航到
%ProgramFiles%\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\uxbwjkun.gjn*\packages

在这里,您将找到两个文件夹“vs mda”和“vs mda目标”

  • 请注意,uxbwjkun.gjn将不是确切的文件夹名称,但请查找包含文件夹包的类似名称
现在从这里运行
npm-g安装\vs mda
npm-g安装\vs mda目标

发出此命令时,需要在%Program Files%中为其提供vs安装下vs mda和vs mda目标文件夹的显式路径


重新启动并创建新的MDHA项目

我们团队中有相当多的开发人员必须解决这个问题,所以我创建了一个脚本,在升级到CTP3后为他们解决这个问题。 它基本上与Ellen的解决方案相同,但它通过查找VS扩展路径的注册表项自动完成:)

创建包含以下内容的.cmd文件:

@echo off
setlocal ENABLEEXTENSIONS
echo -- Searching for MultiDeviceHybridApp Visual Studio Extension --
set KEY_NAME=HKEY_USERS\.DEFAULT\Software\Microsoft\VisualStudio\12.0\ExtensionManager\EnabledExtensions
set SEARCH_VALUE=MultiDeviceHybridApp
set REG_QUERY_CMD=reg query "%KEY_NAME%" /f "%SEARCH_VALUE%"
for /f "tokens=2*" %%a in ('%REG_QUERY_CMD% 2^>^&1^|find "REG_"') do @set RESULT_REG_VALUE=%%b
goto find_result_%ERRORLEVEL%
:find_result_0
echo Found here: %RESULT_REG_VALUE%
set PACKAGES_PATH=%RESULT_REG_VALUE%\packages
echo Installing vs mda packages....
echo.
set CMD=npm -g uninstall "%PACKAGES_PATH%\vs-mda-targets"
echo Running: %CMD%
call %CMD%
echo.
set CMD=npm -g uninstall "%PACKAGES_PATH%\vs-mda"
echo Running: %CMD%
call %CMD%
echo.
set CMD=npm -g install "%PACKAGES_PATH%\vs-mda"
echo Running: %CMD%
call %CMD%
echo.
set CMD=npm -g install "%PACKAGES_PATH%\vs-mda-targets"
echo Running: %CMD%
call %CMD%
echo.
echo Done!
goto end
:find_result_1
echo *** Could not find MultiDeviceHybridApp Visual Studio Extension path ***
:end
pause
运行此文件,它将为您正确卸载和重新安装npm软件包


注:显然,您需要npm作为系统路径的一部分。

我们团队中的许多开发人员都必须解决这个问题,所以我创建了一个脚本,在升级到CTP3后为他们解决这个问题。 它基本上与Ellen的解决方案相同,但它通过查找VS扩展路径的注册表项自动完成:)

创建包含以下内容的.cmd文件:

@echo off
setlocal ENABLEEXTENSIONS
echo -- Searching for MultiDeviceHybridApp Visual Studio Extension --
set KEY_NAME=HKEY_USERS\.DEFAULT\Software\Microsoft\VisualStudio\12.0\ExtensionManager\EnabledExtensions
set SEARCH_VALUE=MultiDeviceHybridApp
set REG_QUERY_CMD=reg query "%KEY_NAME%" /f "%SEARCH_VALUE%"
for /f "tokens=2*" %%a in ('%REG_QUERY_CMD% 2^>^&1^|find "REG_"') do @set RESULT_REG_VALUE=%%b
goto find_result_%ERRORLEVEL%
:find_result_0
echo Found here: %RESULT_REG_VALUE%
set PACKAGES_PATH=%RESULT_REG_VALUE%\packages
echo Installing vs mda packages....
echo.
set CMD=npm -g uninstall "%PACKAGES_PATH%\vs-mda-targets"
echo Running: %CMD%
call %CMD%
echo.
set CMD=npm -g uninstall "%PACKAGES_PATH%\vs-mda"
echo Running: %CMD%
call %CMD%
echo.
set CMD=npm -g install "%PACKAGES_PATH%\vs-mda"
echo Running: %CMD%
call %CMD%
echo.
set CMD=npm -g install "%PACKAGES_PATH%\vs-mda-targets"
echo Running: %CMD%
call %CMD%
echo.
echo Done!
goto end
:find_result_1
echo *** Could not find MultiDeviceHybridApp Visual Studio Extension path ***
:end
pause
运行此文件,它将为您正确卸载和重新安装npm软件包


另外,您显然需要npm作为系统路径的一部分。

我遇到了一个错误,看起来像导入的项目“…\node\u modules\vs mda target\microsoft.mda.targets”未找到。。执行上述命令后的输出是
unbuild vs mda-targets@0.1.0
。虽然我无法使用
npm install-g vs mda targets重新安装
我已更新了我的答案,以描述如何处理丢失的目标文件。我在
C:\Program files(x86)\Microsoft Visual Studio 12.0\Common7\IDE
中没有扩展文件夹。我有
CommonExtensions
privatepassemblies
,还有“远程调试器”。我将尝试搜索其他文件夹。我在
npm缓存中找到了一个副本。将其复制到指定的文件夹后,我将得到原始错误。不幸的是,npm缓存中的副本是原始的过时副本,这就是为什么会得到原始错误。听起来好像您已将VS安装到非系统驱动器上。在这种情况下,您将在安装VS的驱动器上的Program Files(x86)\Microsoft Visual Studio 12.0\Common7\IDE)下找到Extensions文件夹。请重复上面答案中的步骤,包括卸载目标文件和安装的驱动器,在包含packages文件夹的Extensions下找到文件夹并从中复制。我遇到了一个错误,看起来像导入的项目“…\node\u modules\vs mda target\microsoft.mda.targets”未找到
。执行上述命令后的输出是
unbuild vs mda-targets@0.1.0
。我无法使用
npm install-g vs mda targets重新安装。我已更新了我的答案,以说明如何处理丢失的目标文件。我在
C:\Program files(x86)\Micr中没有扩展文件夹