【问题标题】:How to edit the Typescript 1.4 "specified task executable location"?如何编辑 Typescript 1.4“指定的任务可执行位置”?
【发布时间】:2015-07-20 12:01:27
【问题描述】:

我正在更新一个项目以使用所有内容的最新版本。 我刚刚将 MVC 4 项目从 .Net 4.0 更新到 .Net 4.5.1。然后我更新了 nuget 包(卸载一些,然后重新安装,因为它们基于 .Net 4.0)。之后,我将 Typescript 的机器版本更新到了 1.4,就在那时,一切都受到了追捧。只是两个简单的错误。第一个:

您的项目文件使用不同版本的 TypeScript 编译器 和工具比当前安装在这台机器上。没有编译器 在 C:\Program Files (x86)\Microsoft 中找到 SDKs\TypeScript\1.4\1.4\tsc.exe。您也许可以解决此问题 通过更改项目文件中的元素。

我确保将其设置为“1.4”

 <TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>

第二个错误:

指定的任务可执行位置“C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe" 无效。

所以我试图找到路径设置的位置,并找出试图在第二个文件夹“1.4”中查找的位置。路径应该是:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\tsc.exe

我似乎无法找到它的设置位置,以及如何更改它。

我试过了:

重新安装和修复 Typescript 1.4 并到处搜索设置路径的位置。

我已经阅读了包括检查“检查您的 PATH 环境变量”的答案。我找不到在哪里改变它,此时我的大脑很生气。

我在 Visual Studio 2013 Ultimate 中。谢谢。

【问题讨论】:

  • 我也有同样的问题,从 1.0 升级到 1.4 时肯定有问题...

标签: asp.net-mvc-4 visual-studio-2013 typescript .net-4.5


【解决方案1】:

1.4

工具版本与编译器版本不同。对于1.4,版本是1.0(我认为)。

我似乎无法找到它的设置位置,以及如何更改它。

它设置在您的Microsoft.TypeScript.targets(位置如:C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\TypeScript)中。我的包含:

  <PropertyGroup>
    <TypeScriptToolsVersion Condition="'$(TypeScriptToolsVersion)'==''">1.0</TypeScriptToolsVersion>
    <TscToolPath Condition="'$(TscToolPath)' == ''">$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript</TscToolPath>
    <TscToolPath Condition="'$(TypeScriptToolsVersion)' != ''">$(TscToolPath)\$(TypeScriptToolsVersion)</TscToolPath>
    <TscToolExe Condition="'$(TscToolExe)' == ''">tsc.exe</TscToolExe>
    <TscYieldDuringToolExecution Condition="'$(TscYieldDuringToolExecution)' == ''">true</TscYieldDuringToolExecution>
  </PropertyGroup>

个人意见:我不使用 Visual Studio / msbuild,建议您投资像 atom(免责声明:维护者)这样的 OSS 编辑器和像 grunt 或 gulp 这样的构建管道。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。我发现它的唯一方法是在 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4 创建一个新文件夹 '1.4' 并复制到 'C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4** 1.4**' 父目录中的所有文件。

    愚蠢的解决方案,但它对我有用。

    【讨论】:

    • 这就是我最终做的,它又快又脏。
    【解决方案3】:

    我安装了 1.5 版,然后将其卸载。卸载 1.5 后,我开始收到与您收到的完全相同的错误。为了修复它,我必须在 Visual Studio 安装的控制面板中运行修复。在 Visual Studio 上运行修复将修复对 SDK 路径的引用。

    我不知道这些步骤是否必要,但在运行修复之前我手动去了:

    C:\Program Files (x86)\Microsoft SDKs

    并重命名了 TypeScript 文件夹。

    在 MSBuild 路径下,您可能列出了多个版本的 Visual Studio。我进入了每一个并重命名了 TypeScript 文件夹。

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\

    然后我从控制面板对我安装的 Visual Studio 进行了修复。如果您不想在完整安装时运行修复并且您有原始安装介质或 iso,您可以从以下位置运行 TypeScript SDK 和 VS 包:

    H:\packages\TypeScript_SDK

    H:\packages\TypeScript_VS

    运行修复或单独运行包后,您将安装旧版本的 TypeScript,现在可以进入 Visual Studio 并使用“扩展和更新”对话框安装 TypeScript 1.4。

    【讨论】:

    • 这也为我解决了这个问题。希望卸载/修复可以清理它而不必省略其他文件夹,但是,这些步骤为我解决了这个问题。感谢您的帮助,正在兜圈子试图理解这个问题。目标文件中的所有内容对我来说都是正确的!
    • 谢谢,也解决了 1.8(VS2013 之后的 VS2015)的问题。
    【解决方案4】:

    解决方案:

    1. 转到 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio 并重命名 VisualStudio 版本中的 typescript 文件夹。例如,我在v12.0 中重命名了Typescript 文件夹。

    2. 转到C:\Program Files (x86)\Microsoft SDKs 并重命名typescript 文件夹。

    3. 进入控制面板中的程序和功能,搜索Typescript并修复Typescript。

    此解决方案将解决问题,现在您可以删除重命名的文件夹

    【讨论】:

      【解决方案5】:

      编辑:我遇到了比这更多的问题,发现我的项目需要 1.0 因此我不得不通过卸载 TypeScript、删除/重命名 @ 来恢复这个状态987654321@ 和 C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript 然后从安装程序/卸载程序运行修复选项。


      对我来说,我安装了 1.5 并且需要回到 1.4。回到1.4后我需要修改

      Microsoft.TypeScript.Targets

      C:\Program Files\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript\

      从此注释掉TypeScriptToolsVersion的附加

      <PropertyGroup>
          <TypeScriptToolsVersion Condition="'$(TypeScriptToolsVersion)'==''">1.4</TypeScriptToolsVersion>
          <TscToolPath Condition="'$(TscToolPath)' == ''">$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript</TscToolPath>
          <!--<TscToolPath Condition="'$(TypeScriptToolsVersion)' != ''">$(TscToolPath)\$(TypeScriptToolsVersion)</TscToolPath>-->
          <TscToolExe Condition="'$(TscToolExe)' == ''">tsc.exe</TscToolExe>
          <TscYieldDuringToolExecution Condition="'$(TscYieldDuringToolExecution)' == ''">true</TscYieldDuringToolExecution>
      </PropertyGroup>
      

      到这里

      <PropertyGroup>
          <TypeScriptToolsVersion Condition="'$(TypeScriptToolsVersion)'==''">1.4</TypeScriptToolsVersion>
          <TscToolPath Condition="'$(TscToolPath)' == ''">$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript</TscToolPath>
          <TscToolPath Condition="'$(TypeScriptToolsVersion)' != ''">$(TscToolPath)\$(TypeScriptToolsVersion)</TscToolPath>
          <TscToolExe Condition="'$(TscToolExe)' == ''">tsc.exe</TscToolExe>
          <TscYieldDuringToolExecution Condition="'$(TscYieldDuringToolExecution)' == ''">true</TscYieldDuringToolExecution>
      </PropertyGroup>
      

      【讨论】:

        【解决方案6】:

        这是 TypeScript 的一个错误,据称已修复。该错误在路径中复制了 TypeScript 版本。

        参考: https://github.com/Microsoft/TypeScript/issues/3493

        注意: 如果您尝试使用 Visual Studio Online 进行构建,现在会出现类似的问题。根据同一个帖子,VSO 团队意识到并正在努力修复......

        【讨论】:

          【解决方案7】:

          我也在 VS2013 中收到此错误:

          指定的任务可执行位置“C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe" 是无效错误。

          这是对我有用的解决方案,来自 paulvanbrenk 的 this GitHub comment

          我想我有一个应该进入 1.8 决赛的修复程序。但是,与此同时。你能检查C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript中的Microsoft.TypeScript.targets文件,看看是否有一个TscToolPath元素,它附加了TypeScriptToolsVersion。从该元素中删除 TypeScriptToolsVersion 应该可以解决问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2018-12-12
            • 2018-11-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-04-25
            • 2015-02-14
            相关资源
            最近更新 更多