安装Visual Studio 2015更新3后,Microsoft.TypeScript.targets中的TscToolPath为null

时间:2016-08-19 12:27:58

标签: typescript tsc

安装更新3后,我在visual studio 2015中收到此错误。使用TS 2.0。

Error       Invalid command line switch for "tsc.exe". Value cannot be null.
Parameter name: path1   ProjectTest C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets 214 

这指向此代码,所以我认为TscToolPath为空

 <VsTsc
      ToolPath="$(TscToolPath)"
      ToolExe="$(TscToolExe)"
      TSConfigFile="%(ConfigFiles.Identity)"
      YieldDuringToolExecution="$(TscYieldDuringToolExecution)"
      ProjectDir="$(ProjectDir)"
      ToolsVersion="$(TypeScriptToolsVersion)"
      TypeScriptCompileBlocked="$(TypeScriptCompileBlocked)"
      ComputeOutputOnly="false">

      <Output TaskParameter="GeneratedJavascript" ItemName="emittedFiles" />
  </VsTsc>

我无法在任何地方找到TscToolPath值。我在Microsoft.Typescript.Default.props

中有这个
 <PropertyGroup>
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
    <TypeScriptNoImplicitAny>false</TypeScriptNoImplicitAny>
    <TypeScriptRemoveComments>false</TypeScriptRemoveComments>
    <TypeScriptGeneratesDeclarations>false</TypeScriptGeneratesDeclarations>
    <TypeScriptSourceMap>true</TypeScriptSourceMap>
    <TypeScriptNoEmitOnError>true</TypeScriptNoEmitOnError>
  </PropertyGroup>

我的TS配置在.iceproj(telerik appbuilder)

 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <TypeScriptTarget>ES5</TypeScriptTarget>
    <TypeScriptJSXEmit>None</TypeScriptJSXEmit>
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind>
    <TypeScriptOutFile />
    <TypeScriptOutDir />
    <TypeScriptNoEmitOnError>False</TypeScriptNoEmitOnError>
    <TypeScriptSourceMap>False</TypeScriptSourceMap>
    <TypeScriptMapRoot />
    <TypeScriptSourceRoot />
    <TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
  </PropertyGroup>

将此添加到iceproj但没有修复。

   <PropertyGroup>
     <TypeScriptToolsVersion>2.0</TypeScriptToolsVersion>
  </PropertyGroup>

请帮助:)

1 个答案:

答案 0 :(得分:0)

希望相同的步骤适合您的Type2 v2(我仍然使用1.8),但尝试运行项目时会出现同样的错误。

那么我是如何解决这个问题的......(跳过第4部分可能没问题,而且在我所有修改之后都不确定)

第1部分。

确保在Visual Studio中设置TypeScript选项。 TypeScript options

第2部分。

添加tsconfig.json文件。

{
  "compilerOptions": {
    "module": "amd",
    "target": "es5",
    "sourceMap": true,
    "experimentalDecorators": true,
    "noEmitOnError": false
  },
  "compileOnSave": true,
  "exclude": [
    "node_modules",
    "bower_components",
    "platforms"
  ]
}

第3部分。

我最终从nuget中删除了所有当前的输入文件,然后使用typings慢慢替换它们。主要是由于第4部分中返回的错误.Rxjs是我的问题的首要问题之一。

第4部分。

从命令提示符运行tsc。这将显示您的文件的任何错误。基本上,AppBuilder确实用于继续出错,但由于某种原因,目前它没有构建没有错误。像typings/globals/cordova-ionic/index.d.ts(4,12): error TS2503: Cannot find namespace 'Ionic'.这样简单的事情会导致它失败但是后来获得更多的打字稿定义会修复它: typings install dt~cordova-ionic/plugins/keyboard --global --save

第5部分。

tsc最终没有更多错误返回时,尝试再次从Visual Studio运行appbuilder。这一次,设备模拟器出现了。

希望这些步骤能够解决您的问题。祝好运。如果您无法解决问题,请将其添加到您的问题中。

TypeScript 2更新

我已经安装了TypeScript 2 RC,它似乎自动运行(不更改项目文件)。构建或运行项目输出给出: C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 2.0 \ tsc.exe --project&#34; H:\ WhatsMyScore1 \ WhatsMyScore \ MobileProject1 \ tsconfig.json&#34; --listEmittedFiles