31

Visual Studio Express for Web 内の TypeScript で get/set 構文を使用したいと考えています。これを有効にするにはどうすればよいですか。現在、コンパイル時にこのエラーが発生します。

プロパティ アクセサーは、ES5 以降を対象とする場合にのみ使用できます

コンパイル中のファイルのビルド アクションはTypeScriptCompile. Visual Studio 内から必要なコンパイラ スイッチを追加する方法がわかりません。

どんな助けでも大歓迎です。

4

5 に答える 5

22

-target ES5 をコンパイラに渡す必要があります。コンパイルは、プロジェクト ファイルの msbuild タスクを使用してトリガーされます。あなたのプロジェクト ファイルにはおそらく onr ベローのような「TypeScriptCompile」ターゲットがあります。ターゲット引数が渡されていることを確認してください。次に例を示します。

<Target Name="TypeScriptCompile" BeforeTargets="Build">
   <Message Text="Compiling TypeScript files" />
   <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>
于 2012-10-10T04:01:26.490 に答える
2

TSC.EXE に ES5 互換コードを生成するよう指示するためのスイッチは --target ES5 です (2 つのダッシュに注意してください)。

各プロジェクトには [Something].csproj というファイルがあります (この場合は C# プロジェクト)。Targetメモ帳を使用してそのファイルを開き、 xml 要素を探します。を追加して、exec コマンドを変更し--target ES5ます。

前:

 <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />

後:

<Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; --target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
于 2012-10-10T19:46:18.440 に答える