今日 VS2017 にアップグレードしましたが、Web アプリ プロジェクトで何かを変更するたびに、ビルドによってすべての JavaScript が再度ビルドされることがわかりました (クライアントに webpack を使用しています)。クールですが、時間がかかるので、javascript のビルドを停止するように構成できれば幸いです (変更されたときに自分でビルドします)。
7 に答える
簡単な答え
csproj ファイルで、次の行を既存の PropertyGroup ブロックに追加します。
<PropertyGroup>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
.tsまたはファイルをプロジェクトに追加.tsxするとプロジェクト ファイルが変更される場合は、次の修正プログラムを適用する必要がある場合があります。詳細については、バグ レポートを参照してください。
<ItemGroup>
<None Remove="**/*.ts;**/*.tsx" />
<Content Remove="**/*.ts;**/*.tsx" />
<TypeScriptCompile Include="**/*.ts;**/*.tsx" />
</ItemGroup>
プロジェクト ルートにファイルを追加tsconfig.jsonし、次の設定が設定されていることを確認します。
"compileOnSave": false,
最後に、Visual Studio を再起動します
詳細
[ProjectName].csproj.nuget.g.targetsNuget は、プロジェクトのディレクトリに呼び出される生成されたターゲット ファイルを作成しobjます。このターゲット ファイルはインポートMicrosoft.NET.Sdk.Web.ProjectSystem.targetsされ、次にインポートされMicrosoft.TypeScript.targetsます。
ファイルのMicrosoft.TypeScript.targets次の行には、このプロパティが true に設定されている場合、TypeScript コンパイル タスクが何もしないことを知らせるコメントがあります。
<!-- Makes the TypeScript compilation task a no-op -->
<TypeScriptCompileBlocked Condition="'$(TypeScriptCompileBlocked)' == ''">false</TypeScriptCompileBlocked>
私は同じ問題を抱えていました.Webpackは、Visual Studioがプロジェクトを再構築するたびにTypescriptファイルを再構築していました.
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
私のプロジェクトファイルで、そして
"compileOnSave": false,
"buildOnSave": false
私の tsconfig.json ファイルで。
それは、NPM Task Runner VS 拡張機能 ( https://marketplace.visualstudio.com/items?itemName=MadsKristensen.NPMTaskRunner ) がインストールされていたためであり、Task Runner Explorer ではビルド タスクが「Before Build」にバインドされていたためであることが判明しました。 ' イベント。この拡張機能は必要なかったので、アンインストールしました。
注: VS ビルドで再構築するのに Webpack は必要ありませんでした。これは、この拡張機能を使用して、ファイルを監視し、変更を加えたときにとにかく再構築していたためです。