2015-05-09 76 views
8

我正在更新項目以使用最新版本的所有內容。 我剛剛從.NET 4.0更新了MVC 4項目到.Net 4.5.1。然後我更新了nuget軟件包(卸載一些,並重新安裝,因爲它們基於.Net 4.0)。之後,我將Typescript的機器版本更新到了1.4版本,這就是當它全部擊中粉絲時。只有兩個簡單的錯誤。第一:如何編輯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\1.4\1.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\1.4\1.4\tsc.exe" is invalid.

所以我試圖找到所在的路徑設置,並採取在哪裏試圖看在第二個文件夾「1.4」。路徑應該是:

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

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

我已經試過:

重新安裝和維修打字稿1.4以及所在的路徑設置搜索無處不在。

我讀過的答案包括檢查「檢查PATH環境變量」。我找不到要改變的地方,此時我的大腦很生氣。

我在Visual Studio 2013旗艦版。謝謝。

+0

我有同樣的問題,從1.0升級到1.4時必然出現問題... – pauloya

回答

12

我有同樣的問題。只有這樣,我發現它只是在C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 1.4上創建一個新文件夾'1.4',並複製到'C:\ Program Files文件(x86)\ Microsoft SDKs \ TypeScript \ 1.4 ** 1.4 **'來自父目錄的所有文件。

愚蠢的解決方案,但它適用於我。

+0

這就是我最終做的,它很快又很髒。 – CodeBob

+0

一個愚蠢問題的天才解決方案。 –

0

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> 

個人OPININONS:我不使用Visual Studio/MSBuild的,並建議您在OSS編輯器投資類氫原子(免責聲明:維護者)和構建流水線一樣的哼聲和一飲而盡。

5

我安裝了1.5版後卸載了它。在我卸載1.5之後,我開始得到與你收到的完全相同的錯誤。爲了修復它,我必須在Visual Studio安裝的控制面板中運行修復。在Visual Studio上運行修復將修復對SDK路徑的引用。

我不知道如果這些步驟是必要的,但運行修復之前,我手動去:

C:\Program Files (x86)\Microsoft SDKs

,並更名爲打字稿文件夾。

在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可以從運行打字稿SDK和VS包:

H:\packages\TypeScript_SDK

H:\packages\TypeScript_VS

在運行修復後或運行包您將單獨安裝舊版本的TypeScript,現在可以進入Visual Studio並使用擴展和更新對話框來安裝TypeScript 1.4。

+0

這也解決了我的問題。希望卸載/修復可以清理這個,而不必省略其他文件夾,但是,這些步驟爲我解決了這個問題。感謝您的幫助,正在圍繞試圖瞭解問題的小組進行討論。目標文件中的所有內容對我來說都是正確的! – Flinkman

+0

謝謝,也爲1​​.8(VS2013之後VS2015)的問題工作。 – Remco

8

解決方案:

  1. 轉到C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio和重命名您的VisualStudio版本里面typescript文件夾。例如,我將Typescript文件夾更名爲v12.0

  2. 轉到C:\Program Files (x86)\Microsoft SDKs並將文件夾重命名爲typescript

  3. 轉到控制面板中的程序和功能,搜索打字稿並修復打字稿。

該解決方案將解決這個問題,現在你可以刪除該文件夾改名

+0

這對我有用,謝謝! – Ben

1

編輯:我有進一步的問題比這個發現,我的項目需要1.0因此我有通過卸載TypeScript,刪除/重命名C:\Program Files\MSBuild\Microsoft\VisualStudio\v12.0\TypeScriptC:\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\

從這個

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

註釋出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> 
0

這是一個據說已被修復的TypeScript錯誤。該錯誤在路徑中複製了TypeScript版本。

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

注: 有一個類似的問題,如果你現在正在試圖建立與Visual Studio聯機。根據相同的線程中,VSO團隊意識和目前正在進行修復...

1

我在VS2013收到此錯誤太:

The specified task executable location "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\1.4\tsc.exe" is invalid error.

這裏是爲我工作,從this GitHub comment解決方案通過paulvanbrenk:

我想我有一個解決方案,應該進入1.8最後..但是,在同一時間。你可以檢查Microsoft.TypeScript.targets文件C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript,看看是否有TscToolPath元素,它附加TypeScriptToolsVersion。從該元素中刪除TypeScriptToolsVersion應該可以解決問題。