パフォーマンスの向上: ASP.NET、Visual Studio、TypeScript で MSBuild TypeScript コンパイルを無効にする

2024-06-25

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 コンパイルを無効にすることもできます。これを行うには、次の手順に従います。

  1. ツール > オプション > テキスト エディター > JavaScript/TypeScript > プロジェクト に移動します。
  2. プロジェクトに含まれない 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 プロパティが含まれています。

    この方法を使用するには、以下の手順に従います。

    1. プロジェクトに Microsoft.TypeScript.Build NuGet パッケージをインストールします。
    2. プロジェクトファイル (csproj ファイル) に次のプロパティグループを追加します。
    <PropertyGroup>
      <ExcludeFromBuild>path/to/file1.ts;path/to/file2.ts;/* ... */</ExcludeFromBuild>
    </PropertyGroup>
    

    カスタムビルドタスクを使用して、TypeScript コンパイルプロセスを制御することもできます。これを行うには、次の手順に従います。

    1. 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


    JavaScriptの未来はTypeScript?そのメリットとデメリットを徹底解説

    型システム:JavaScript: 動的型付けクラス:TypeScript: より詳細なクラス定義が可能TypeScript: モジュール、名前空間、ジェネリック型などコードの品質と信頼性の向上: 型チェックにより、実行時エラーを防ぐことができる...


    Angular 2 beta.17 で Property 'map' does not exist on type 'Observable' エラーを解決する方法

    コパカバーナビーチリオデジャネイロで最も有名なビーチです。2kmにも及ぶ白い砂浜と青い海が特徴です。波が穏やかで、海水浴やサーフィンに最適です。ビーチ沿にはたくさんのレストランやカフェがあり、昼夜問わず賑わっています。イパネマビーチコパカバーナビーチの隣にあるビーチです。コパカバーナビーチよりも落ち着いた雰囲気で、高級住宅街に面しています。波が穏やかで、海水浴や散歩に最適です。...


    Angular コンポーネントで ngOnInit、ngOnChanges、ngAfterContentInit、ngAfterViewInit ライフサイクルフックを駆使してデータ処理を行う方法

    Angular コンポーネントにおいて、入力データはコンポーネントのライフサイクルの特定のタイミングでのみ利用可能です。 以下のライフサイクルフックで、コンポーネントに入力データが利用できます。ngOnInit最も一般的に使用されるフックで、コンポーネントが初期化された直後に呼び出されます。 コンポーネントの初期化処理や、入力データに基づいた処理を行うのに適しています。...


    React、TypeScript、Formikでスムーズなフォーム開発!Formik onSubmit 関数が機能しない時のトラブルシューティングガイド

    以下では、onSubmit 関数が機能しないという問題を解決するためのヒントとガイダンスを提供します。基本的な問題の確認まず、以下の基本的な問題を確認してください。Formik コンポーネントを正しくレンダリングしているか: <Formik> コンポーネントが正しくレンダリングされていることを確認してください。...


    Node.js と TypeScript で ES6 モジュールの相対インポートをスムーズに行う

    このチュートリアルでは、TypeScript コンパイル時に相対インポートステートメントに . js 拡張子を自動的に追加する方法について説明します。これは、ES6 モジュールを使用している場合に役立ちます。背景TypeScript は、JavaScript に静的な型付けを提供するスーパーセット言語です。 TypeScript コンパイラは、TypeScript ファイルを JavaScript ファイルに変換します。...


    SQL SQL SQL SQL Amazon で見る



    TypeScriptで"tsconfig.json: Build: No inputs were found in config file"エラーが発生する原因と解決策

    TypeScript で tsc コマンドを使ってビルドを実行すると、tsconfig. json: Build: No inputs were found in config file というエラーが発生する場合があります。このエラーは、tsconfig