【问题标题】:TscToolPath null in Microsoft.TypeScript.targets after installed update 3 of visual studio 2015安装 Visual Studio 2015 更新 3 后 Microsoft.TypeScript.targets 中的 TscToolPath null
【发布时间】:2016-08-19 12:27:57
【问题描述】:

安装更新 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>

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

 <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>

请帮忙:)

【问题讨论】:

  • 您找到解决方法了吗?他们的支持往往很快。我也对 typescript 1.8 有同样的问题

标签: typescript tsc


【解决方案1】:

希望相同的步骤适用于您的 TypeScript v2(我仍在使用 1.8),但在尝试运行项目时出现相同的错误。

那么我是如何修复它的...(可以跳到第 4 部分,在我进行了所有更改后不确定)

第 1 部分。

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

第 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。这一次,设备模拟器出现了。

希望这些步骤也能解决您的问题。祝你好运。如果您无法解决,则 tsc 的任何其他内容都可以添加到您的问题中。

TypeScript 2 更新

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 2017-02-15
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多