我在Visual Studio 2017中有这个Cordova / Ionic项目,经过最近的一些更改,将语音添加到文本功能之后,我在将项目克隆到另一台机器后无法构建项目。
项目结构是这样的:
project structure 1 project structure 2
当我构建解决方案时,我收到此错误:
" tsc.exe"的命令行开关无效。值不能为空。参数名称:path1
而且,很可能是因为第一个错误,我得到了数百个这样的错误:
无法写文件' D:/NT4-PROJECTS/ionicSenhas/www/libs/pre-cordova.js'因为它会覆盖输入文件。
无法写文件' D:/NT4-PROJECTS/ionicSenhas/www/libs/markerclusterer/markerclusterer.js'因为它会覆盖输入文件。
正在寻找此答案
命令行无效"切换" tsc.exe"。值不能为空。"参数名称:path1
问题,我发现我的建议很少,如下:
TscToolPath null in Microsoft.TypeScript.targets after installed update 3 of visual studio 2015
这里我有一个疑问:是否必须有一个tsconfig文件供tsc.exe编译打字稿文件? 我问这个是因为我从存储库克隆的项目没有这个tsconfig.json文件 - 我不确定执行此提交的程序员是否 忘了添加这个文件,或者如果我真的可以在没有tsconfig文件的项目中使用打字稿文件。
无论如何,我尝试了这个建议并添加了tsconfig文件
{
"compilerOptions": {
"module": "amd",
"target": "es5",
"sourceMap": true,
"experimentalDecorators": true,
"noEmitOnError": false
},
"compileOnSave": true,
"exclude": [
"node_modules",
"bower_components",
"platforms"
]
}
但问题仍然存在;
无法写文件' D:/NT4-PROJECTS/ionicSenhas/lib/angular-i18n/angular-locale_pt-br.js'因为它会覆盖输入文件
我已经尝试了很多东西(更新依赖项,再次卸载和安装),我想这是任何人都很难搞清楚的事情 没有看我的环境。
答案 0 :(得分:0)
我的解决方案是在VS2017安装上进行修复。之后,TSC错误消失了。我测试了创建一个新的默认VS Cordova项目并构建它。此外,修复后我从VS2017 15.5.6到15.6.1 ...希望这有帮助
答案 1 :(得分:0)
在vs2017中创建一个空白的cordova应用程序,然后将新创建的.jsproj文件的内容复制到我原来的项目文件中。