如何编辑 Typescript 1.4 "specified task executable location"?
How to edit the Typescript 1.4 "specified task executable location"?
我正在更新项目以使用所有内容的最新版本。
我刚刚将 MVC 4 项目从 .Net 4.0 更新到 .Net 4.5.1。然后我更新了 nuget 包(卸载了一些,然后重新安装,因为它们基于 .Net 4.0)。之后,我将 Typescript 的机器版本更新为 1.4,这时一切都很顺利。只是两个简单的错误。第一个:
Your project file uses a different version of the TypeScript compiler
and tools than is currently installed on this machine. No compiler
was found at C:\Program Files (x86)\Microsoft
SDKs\TypeScript.4.4\tsc.exe. You may be able to fix this problem
by changing the element in your project file.
我确定它已设置为“1.4”
<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>
第二个错误:
The specified task executable location "C:\Program Files
(x86)\Microsoft SDKs\TypeScript.4.4\tsc.exe" is invalid.
所以我试图找到设置路径的位置,并取出试图在第二个文件夹“1.4”中查找的位置。路径应该是:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.4\tsc.exe
我似乎找不到设置的位置以及如何更改它。
我试过:
正在重新安装和修复 Typescript 1.4 并到处搜索设置路径的位置。
我读过的答案包括检查 "Check your PATH environment variable." 我找不到在哪里更改它,此时我的大脑很生气。
我在 Visual Studio 2013 Ultimate。谢谢。
1.4
工具版本与编译器版本不同。对于 1.4
,版本是 1.0
(我认为)。
I can't seem to find where this is set, and how I can change it.
它在您的 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 这样的构建管道。
我遇到了同样的问题。我发现它的唯一方法是在 C:\Program Files (x86)\Microsoft SDKs\TypeScript.4 中创建一个新文件夹“1.4”,并将父目录中的所有文件复制到 'C:\Program Files (x86)\Microsoft SDKs\TypeScript.4**1.4**'。
愚蠢的解决方案,但对我有用。
我安装了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。
解决方案:
转到 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
并重命名您的 VisualStudio 版本中的 typescript
文件夹。例如,我在 v12.0
.
中重命名了 Typescript
文件夹
转到 C:\Program Files (x86)\Microsoft SDKs
并重命名 typescript
文件夹。
进入控制面板的程序和功能,搜索 Typescript 并修复 Typescript。
此解决方案将解决问题,现在您可以删除重命名的文件夹
编辑: 我遇到了比这更多的问题,发现我的项目需要 1.0 因此我不得不恢复到这个通过卸载 TypeScript,removing/renaming C:\Program Files\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript
和 C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript
然后 运行 installer/uninstaller.
中的修复选项
对我来说,我安装了 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>
这是 TypeScript 的一个错误,据称已修复。该错误复制了路径中的 TypeScript 版本。
参考:
https://github.com/Microsoft/TypeScript/issues/3493
注意:
如果您尝试使用 Visual Studio Online 进行构建,现在会出现类似的问题。根据同一线程,VSO 团队意识到并正在修复...
我在 VS2013 中也遇到了这个错误:
The specified task executable location "C:\Program Files
(x86)\Microsoft SDKs\TypeScript.4.4\tsc.exe" is invalid error.
这是对我有用的解决方案,来自 paulvanbrenk 的 this GitHub comment:
我想我有一个应该进入 1.8 final 的修复..然而,与此同时。您能否检查 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript
中的 Microsoft.TypeScript.targets
文件,看看是否有一个 TscToolPath
元素附加在 TypeScriptToolsVersion
之后。从该元素中删除 TypeScriptToolsVersion 应该可以解决问题。
我正在更新项目以使用所有内容的最新版本。 我刚刚将 MVC 4 项目从 .Net 4.0 更新到 .Net 4.5.1。然后我更新了 nuget 包(卸载了一些,然后重新安装,因为它们基于 .Net 4.0)。之后,我将 Typescript 的机器版本更新为 1.4,这时一切都很顺利。只是两个简单的错误。第一个:
Your project file uses a different version of the TypeScript compiler and tools than is currently installed on this machine. No compiler was found at C:\Program Files (x86)\Microsoft SDKs\TypeScript.4.4\tsc.exe. You may be able to fix this problem by changing the element in your project file.
我确定它已设置为“1.4”
<TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>
第二个错误:
The specified task executable location "C:\Program Files (x86)\Microsoft SDKs\TypeScript.4.4\tsc.exe" is invalid.
所以我试图找到设置路径的位置,并取出试图在第二个文件夹“1.4”中查找的位置。路径应该是:
C:\Program Files (x86)\Microsoft SDKs\TypeScript.4\tsc.exe
我似乎找不到设置的位置以及如何更改它。
我试过:
正在重新安装和修复 Typescript 1.4 并到处搜索设置路径的位置。
我读过的答案包括检查 "Check your PATH environment variable." 我找不到在哪里更改它,此时我的大脑很生气。
我在 Visual Studio 2013 Ultimate。谢谢。
1.4
工具版本与编译器版本不同。对于 1.4
,版本是 1.0
(我认为)。
I can't seem to find where this is set, and how I can change it.
它在您的 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 这样的构建管道。
我遇到了同样的问题。我发现它的唯一方法是在 C:\Program Files (x86)\Microsoft SDKs\TypeScript.4 中创建一个新文件夹“1.4”,并将父目录中的所有文件复制到 'C:\Program Files (x86)\Microsoft SDKs\TypeScript.4**1.4**'。
愚蠢的解决方案,但对我有用。
我安装了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。
解决方案:
转到
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
并重命名您的 VisualStudio 版本中的typescript
文件夹。例如,我在v12.0
. 中重命名了 转到
C:\Program Files (x86)\Microsoft SDKs
并重命名typescript
文件夹。进入控制面板的程序和功能,搜索 Typescript 并修复 Typescript。
Typescript
文件夹
此解决方案将解决问题,现在您可以删除重命名的文件夹
编辑: 我遇到了比这更多的问题,发现我的项目需要 1.0 因此我不得不恢复到这个通过卸载 TypeScript,removing/renaming C:\Program Files\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript
和 C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript
然后 运行 installer/uninstaller.
对我来说,我安装了 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>
这是 TypeScript 的一个错误,据称已修复。该错误复制了路径中的 TypeScript 版本。
参考: https://github.com/Microsoft/TypeScript/issues/3493
注意: 如果您尝试使用 Visual Studio Online 进行构建,现在会出现类似的问题。根据同一线程,VSO 团队意识到并正在修复...
我在 VS2013 中也遇到了这个错误:
The specified task executable location "C:\Program Files (x86)\Microsoft SDKs\TypeScript.4.4\tsc.exe" is invalid error.
这是对我有用的解决方案,来自 paulvanbrenk 的 this GitHub comment:
我想我有一个应该进入 1.8 final 的修复..然而,与此同时。您能否检查 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript
中的 Microsoft.TypeScript.targets
文件,看看是否有一个 TscToolPath
元素附加在 TypeScriptToolsVersion
之后。从该元素中删除 TypeScriptToolsVersion 应该可以解决问题。