1

Visual Studio(Express 2012 for Web)に既存のTypeScriptプロジェクトがあります。このプロジェクトはTypeScript0.8.1で作成されました。

一部のクラスはプロパティを使用するため、--target ES5コンパイラパラメータが必要です。

プラグインをTypeScript0.8.2に更新し、ここで定義されている手順に従って「保存時にコンパイル」を有効にしました。これは、プロパティを使用するクラスのコンパイルを含め、説明どおりに機能します。

ただし、プロジェクトをビルドしようとすると、次のようなエラーが発生します。 Config.ts (32,6): Property accessors are only available when targeting ES5 or greater

これが私の.csprojファイルの関連セクションです。

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" />
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
  <TypeScriptTarget>ES5</TypeScriptTarget>
  <TypeScriptIncludeComments>true</TypeScriptIncludeComments>
  <TypeScriptSourceMap>true</TypeScriptSourceMap>
</PropertyGroup>

完全なファイルはここで見ることができます。

プロジェクト全体をビルドまたは再構築した場合、個々のファイルのコンパイルでは機能するのに、なぜ機能しないのですか?

<Import>編集:タグも含まれていることを示すためにスニペットを更新しました。

編集2:完全なプロジェクトファイルの要点へのリンクを追加しました。

4

1 に答える 1

2

(TSCを呼び出すビルドイベントアクションの代わりに)TypeScript .targetsファイルもインポートするように.csprojファイルを変更しましたか?PropertyGroupを更新するだけでは、これらの設定をコマンドラインフラグに変換することでコンパイラを実際に呼び出すことはありません。

Import編集:タグは後にする必要がありPropertyGroupます(そうしないと、インポートされたファイルは設定しているプロパティ値を「認識」しません)。理想的にImportは、ファイルの最後またはほぼ最後になります-間違いなく、PropertyGroupそれが依存する設定を変更するすべての後に。

于 2013-02-25T20:44:45.507 に答える