パフォーマンスの向上: ASP.NET、Visual Studio、TypeScript で MSBuild TypeScript コンパイルを無効にする
ASP.NET、Visual Studio、TypeScript を使用する場合、MSBuild はデフォルトで TypeScript ファイルをコンパイルします。しかし、別のビルドツール (Gulp、Grunt など) を使用している場合や、Visual Studio でのみ開発とデバッグを行っている場合は、MSBuild による TypeScript コンパイルを無効にすることが必要になる場合があります。
方法
MSBuild TypeScript コンパイルを無効にする方法はいくつかあります。
TypeScriptCompileBlocked プロパティを使用する
最も簡単な方法は、TypeScriptCompileBlocked
プロパティを true
に設定することです。これは、プロジェクトファイル (csproj
ファイル) に次のプロパティグループを追加することで行います。
<PropertyGroup>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
tsconfig.json
ファイルを使用して、特定の TypeScript ファイルのコンパイルを無効にすることもできます。これを行うには、exclude
プロパティを使用して、コンパイルから除外するファイルのリストを指定します。
{
"compilerOptions": {
/* ... */
},
"exclude": [
"path/to/file1.ts",
"path/to/file2.ts",
/* ... */
]
}
Visual Studio のオプションを使用して、プロジェクトレベルで TypeScript コンパイルを無効にすることもできます。これを行うには、次の手順に従います。
ツール
>オプション
>テキスト エディター
>JavaScript/TypeScript
>プロジェクト
に移動します。プロジェクトに含まれない TypeScript ファイルを自動的にコンパイルする
チェックボックスをオフにします。
注意事項
TypeScriptCompileBlocked
プロパティを使用する場合、tsconfig.json
ファイルで設定したコンパイラオプションは無視されます。- Visual Studio オプションを使用して TypeScript コンパイルを無効にする場合、Visual Studio で TypeScript ファイルの IntelliSense が使用できなくなる場合があります。
MSBuild TypeScript コンパイルを無効にする方法はいくつかあります。どの方法を使用するかは、プロジェクトのニーズによって異なります。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
<ItemGroup>
<Content Include="**/*.ts" />
</ItemGroup>
</Project>
このコードは、Content
アイテムグループにすべての TypeScript ファイル (*.ts
) を含めます。これは、Visual Studio にこれらのファイルがソース ファイルではなくコンテンツ ファイルであることを示すために必要です。これにより、Visual Studio はこれらのファイルを自動的にコンパイルしなくなります。
以下のサンプルコードは、tsconfig.json
ファイルを使用して、特定の TypeScript ファイルのコンパイルを無効にする方法を示しています。
{
"compilerOptions": {
/* ... */
},
"exclude": [
"path/to/file1.ts",
"path/to/file2.ts",
/* ... */
]
}
このコードは、exclude
プロパティを使用して、path/to/file1.ts
および path/to/file2.ts
ファイルをコンパイルから除外します。
これらのサンプルコードはあくまでも例であり、プロジェクトのニーズに合わせて調整する必要があります。
MSBuild TypeScript コンパイルを無効にするその他の方法
NuGet パッケージを使用する
Microsoft.TypeScript.Build
NuGet パッケージを使用して、TypeScript コンパイルを構成できます。このパッケージには、TypeScriptCompileBlocked
プロパティと同様の動作をする ExcludeFromBuild
プロパティが含まれています。
この方法を使用するには、以下の手順に従います。
- プロジェクトに
Microsoft.TypeScript.Build
NuGet パッケージをインストールします。 - プロジェクトファイル (
csproj
ファイル) に次のプロパティグループを追加します。
<PropertyGroup>
<ExcludeFromBuild>path/to/file1.ts;path/to/file2.ts;/* ... */</ExcludeFromBuild>
</PropertyGroup>
カスタムビルドタスクを使用して、TypeScript コンパイルプロセスを制御することもできます。これを行うには、次の手順に従います。
- TypeScript コンパイルを処理するカスタムビルドタスクを作成します。
<Target Name="BeforeBuild">
<Exec Command="tsc" WorkingDirectory="$(ProjectDirectory)" />
</Target>
このターゲットは、ビルドプロセスが開始される前に tsc
コマンドを実行します。これにより、MSBuild による TypeScript コンパイルがバイパスされます。
MSBuild
プロパティを使用して、TypeScript コンパイルを無効にすることもできます。これを行うには、次のコマンドを使用してプロジェクトをビルドします。
msbuild /property:TypeScriptCompile=false
このコマンドは、TypeScriptCompile
プロパティを false
に設定して msbuild
を実行します。これにより、MSBuild による TypeScript コンパイルがが無効化されます。
- 上記の方法は、いずれも上級ユーザー向けの方法です。使用前に、各方法のドキュメントをよく読んで理解してください。
- カスタムビルドタスクを使用する場合、ビルドプロセスが複雑になる可能性があります。
msbuild
プロパティを使用する場合、コマンドラインからプロジェクトをビルドする必要があります。
asp.net visual-studio typescript