Visual Studio - VS 2019:如何禁用警告「請安裝 'Microsoft.TypeScript.MSBuild' NuGet 套件以在專案中啟用 TypeScript 編譯。」
如何停用警告「請安裝 'Microsoft.TypeScript.MSBuild' NuGet 套件以啟用專案中的 TypeScript 編譯。」?
我不需要使用 MSBuild 進行 TS 編譯——我用自訂工具來做(手動或使用 devserver 構建 webpack 套件)。
將建置動作更改為「內容」後,警告仍然存在(詳細信息:原為「無」,這是專案中唯一的 ts 檔案,重新啟動解決方案也無濟於事;但是其他專案中有其他 TS 檔案,可能它們以某種方式「掛鉤」了所有包含 ts 檔案的專案的 MSBuild 警告)
答案#1
看起來這個問題可能在 VS2022 中已經修復,但如果你仍然使用 VS2019,以下方法對我有效:
<PropertyGroup>
<TypeScriptToolsVersion>4.2</TypeScriptToolsVersion>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
你需要手動將這個加入到你的 .csproj 檔案中。我之後也必須關閉並重新開啟 VS,但我不再收到錯誤。它還想安裝 TS 版本 4.2,但似乎並沒有用它來編譯。雖然這仍不是一個很好的解決方案,但可能是我們唯一的辦法,直到微軟修復它為止:
https://developercommunity.visualstudio.com/t/permanent-warning-please-install-the-microsofttype/1555740
答案#2
VS 2019:如何停用警告『請安裝 'Microsoft.TypeScript.MSBuild' NuGet 套件以在您的專案中啟用 TypeScript 編譯。』
你可以使用 NoWarn msbuild 屬性來抑制此警告。
解決方案
將此添加到您的 xxx.csproj 文件中:
<PropertyGroup>
<NoWarn>xxx(the related waning code like cs0219)</NoWarn>
</PropertyGroup>
================================
更新 1
由於該警告沒有編號,你無法使用 NoWarn 來抑制它。
相反,你可以使用
<WarningLevel>0</WarningLevel>
然而,它會抑制你專案中的所有警告。對於你的問題,這是最好的方法,但如果你還想保留其他警告,仍然有一些缺點。
作為建議,您可以建立一個名為 Test 的新配置(生成-->配置管理員-->點擊您的專案,然後在 配置 下拉選單中點擊 新增)
然後將這些添加到 xxx.csproj 文件中:
<PropertyGroup Condition="'$(Configuration)'=='Test'">
<WarningLevel>0</WarningLevel>
</PropertyGroup>
你 可以使用 測試 配置來建置你的專案,它將抑制警告。
如果你想查看其他警告或處理其他警告,你可以切換到除錯或發行模式來建置你的專案。
====================
更新 2
經過深入研究,我已在我這邊重現了你的問題:
由於您沒有在 VS 的 MSBuild 中指定 TypeScript 版本,因此會發生錯誤。
其原因是你將 TypeScript 文件的 生成操作 設置為 TypeScript 文件。如果你這樣設置,MSBuild 會識別它們並讓 MSBuild 使用 TypeScript 來構建它們。由於你沒有使用 MSBuild 的 TypeScript,因此會出現這個錯誤。
解決方案
你可以將每個 TypeScript 檔案的 Build Action 設定為 Content,並將自訂工具添加到 npm run typescript。
然後重新啟動你的專案再次測試,我相信錯誤會消失。



