これは少し動くターゲットでしたが、それは TypeScript チームがすべての動作を改善してきたからです。以下では、最新のものから最も古いものまで、できるだけ多くのシナリオをカバーしようとしました。
これに関する最新の情報は、Web プロジェクトの場合でも、Visual Studio の最新バージョン (現在は v1.4) で機能するようになったことです。
TypeScript を既存のプロジェクトに追加することについての私のはるかに長い回答から、これらの省略されたメモを取りました。
対 2013/0.9.5
Visual Studio Extension for 0.9.5 以降を Visual Studio 2013 と共に使用している場合は、最初の TypeScript ファイルを追加するとすぐに、すべてが自動的に構成されることがわかります。
自動 TypeScript 化は機能しませんでしたか?
自動構成では、数行しか追加されません。手動で行うこともできます。
<ItemGroup>
<TypeScriptCompile Include="Scripts\app.ts" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
対 2012/0.9.x
次のプロジェクト ファイル構成が機能するはずです。
<ItemGroup>
<TypeScriptCompile Include="app.ts" />
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptRemoveComments>false</TypeScriptRemoveComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptRemoveComments>true</TypeScriptRemoveComments>
<TypeScriptSourceMap>false</TypeScriptSourceMap>
<TypeScriptModuleKind>AMD</TypeScriptModuleKind>
</PropertyGroup>
<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets')" />
さらに古い設定?
TypeScript を既存のプロジェクトに追加する最も信頼できる方法は、プロジェクト ファイルに以下を追加することです。
<ItemGroup>
<AvailableItemName Include="TypeScriptCompile" />
</ItemGroup>
<ItemGroup>
<TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
</ItemGroup>
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" IgnoreExitCode="true" />
</Target>
ここにもオプションのフラグを追加できます-次のように--module amd
:
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" --module amd @(TypeScriptCompile ->'"%(fullpath)"', ' ')" IgnoreExitCode="true" />