Visual Studio 2019 在建置 ASP.NET Core 專案時,一直出現下面的警告訊息,由於我的專案沒有使用 TypeScript,看到這個警告訊息也是覺得挺詭異的,一直想要把它弄掉。
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\TypeScript\Microsoft.TypeScript.targets(72,5): warning : Your project does not specify a TypeScriptToolsVersion. The latest available TypeScript compiler will be used (3.9). To remove this warning, set TypeScriptToolsVersion to a specific version or "Latest" to always select the latest compiler.
從訊息裡面我們可以看到一個檔案 C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\TypeScript\Microsoft.TypeScript.targets,警告訊息指向這個檔案的第 72 行。
這一行它是一個 MSBuild Conditions,滿足條件它就會觸發警告,所以只要讓它不要滿足條件,警告就不會出現,因此我從 TypeScriptShowVersionWarning
這個條件下手,因為這個條件它是從另一組 Condition 計算而來的,就在第 69 行,能夠上下其手的地方比較多。
最後我選擇在我的專案檔裡面加入了下面這一段,破壞 TypeScriptShowVersionWarning 滿足的條件,這樣警告訊息就不會再出現了,不然挺煩人的。
<Project Sdk="Microsoft.NET.Sdk.Web">
...
<PropertyGroup>
<TypeScriptCompileBlocked>True</TypeScriptCompileBlocked>
</PropertyGroup>
...
</Project>