8

Typescript v1.3 が本日発表されたので、VS2013 用のパワー ツール アップデートをインストールしました。

インストール後、Visual Studio が "保護された" キーワードとタプル タイプを認識するようになったことがわかります。これは素晴らしいことです。

しかし、*.csproj ファイルの TypeScriptToolsVersion 属性を 1.1 から 1.3 に変更しました。

<TypeScriptToolsVersion>1.3</TypeScriptToolsVersion>

これを行った後、ビルド時に次のエラーが発生します。

指定されたタスク実行場所 "C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.3\tsc.exe" は無効です。

フォルダー「1.3」はインストーラーによって作成されていません。

回避策として、1.1 コンパイラのコピーを作成するだけで動作させることができました。

このリリースに 1.3 フォルダーが含まれていない理由を知っている人はいますか?

注意: VS Professional 2013 (12.0.30723.00 Update 3) を使用

4

3 に答える 3

7

現在の 1.3 リリースは 1.1 フォルダーにインストールされ、新しいプロジェクトではプロジェクト ファイルの <TypeScriptToolsVersion> プロパティも "1.1" に設定されます (この要素の値が "C:\Program Files (x86)" に追加されるため)。 \Microsoft SDKs\TypeScript" を使用してコンパイラを探すため、これは同期している必要があります)。

コンパイラの場合、(1.0 および 1.1 フォルダーで見られるように) 複数のバージョンを並べて配置できるため、プロジェクトの TypeScriptToolsVersion 設定に対応するコンパイラ バージョンがプロジェクトのビルドに使用されます。ターゲット バージョンを自動的に進めることはありません (あなたたちほど最先端ではない大学とプロジェクトを往復できるようにするためです ;-)

ただし、Visual Studio の言語サービスの場合、存在できるバージョンは 1 つだけで、これがインストールされている最新バージョンになります。下位互換性を維持することを目的としているため、古いバージョンのプロジェクトを開くときのエクスペリエンスに影響を与えるべきではありません (古いコンパイラでコンパイル時に失敗する新機能をより許容することを除いて)。

以前のバージョンを指定してプロジェクトを開くと、プロジェクトのバージョンが言語サービスと同期されておらず、これが発生する可能性があることを警告します (「あなたのプロジェクト ファイルは、これでサポートされているよりも古いバージョンの TypeScript コンパイラとツールを使用しています。 Visual Studio のバージョンです。プロジェクトで TypeScript 言語機能を使用している可能性があり、このバージョンの TypeScript ツールでコンパイルするとエラーが発生します")。これは無害な警告であり、プロジェクトの編集を続行できます。指定されたコンパイラ バージョンでサポートされていない言語サービスを介して新しい機能を追加すると、ビルド時にエラーが発生します (警告に従って)。

これは理想的ではなく、これを改善する方法について話し合っています。混乱して申し訳ありません。

于 2014-11-13T17:51:15.243 に答える
3

tsUnit プロジェクトで TypeScript 1.3にアップグレードしたとき、変更セットはツールのバージョンが次から変更されたことを示しました。

<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>

<TypeScriptToolsVersion>1.1</TypeScriptToolsVersion>

そのため、「ツール バージョン」は言語バージョンと一致しません。

  • TypeScript 1.1 -> ToolsVersion 1.0
  • TypeScript 1.3 -> ツールバージョン 1.1

言語、コンパイラ、およびツールのバージョンがすべて異なる場合があることに注意してください。実行tsc -vして言語バージョンを確認します。これは、最新バージョン (2014 年 11 月現在) を使用している場合はバージョン 1.3.0.0 です。

于 2014-11-13T08:37:06.233 に答える
2

このリリースに 1.3 フォルダーが含まれていない理由を知っている人はいますか?

このコメントはそれを明確にします: https://github.com/Microsoft/TypeScript/issues/1138#issuecomment-62993605

1.1 のツール バージョンで 1.3 言語サービスが必要であり、1.1 フォルダーには 1.3 コンパイラーが含まれている必要があります。これは紛らわしいことに気づきました

于 2014-11-13T00:38:55.917 に答える