visual studio - VS 2019: jak zakázat varování 'Nainstalujte prosím NuGet balíček 'Microsoft.TypeScript.MSBuild', aby bylo možné zkompilovat TypeScript ve vašem projektu.'
Jak zakázat varování ‚Nainstalujte prosím balíček NuGet ‚Microsoft.TypeScript.MSBuild‘, aby bylo možné ve vašem projektu kompilovat TypeScript.‘?
Nepotřebuji kompilaci TS s MSBuild - dělám to vlastním nástrojem (sestavení webpack balíčku, ručně nebo s devserverem).
Po změně akce sestavení na „Obsah“ varování stále existuje (detaily: bylo „žádné“, toto je jediný TS soubor v projektu, restart řešení nepomáhá; ale existují jiné TS soubory v jiných projektech a mohou nějak „připojit“ varování MSBuild pro všechny projekty s TS soubory)
Odpověď č. 1
Vypadá to, že by to mohlo být opraveno ve VS2022, ale pokud stále používáte VS2019, následující mi fungovalo:
<PropertyGroup>
<TypeScriptToolsVersion>4.2</TypeScriptToolsVersion>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
Museli byste to ručně přidat do svého souboru .csproj. Musel jsem také VS zavřít a znovu otevřít, ale už se mi chyba nezobrazovala. Také chtěl nainstalovat verzi TS 4.2, ale zdá se, že s ní neprobíhá kompilace. Stále to není skvělé řešení, ale pravděpodobně je to vše, co máme, dokud to Microsoft neopraví:
https://developercommunity.visualstudio.com/t/permanent-warning-please-install-the-microsofttype/1555740
Odpověď č. 2
VS 2019: jak zakázat varování 'Nainstalujte prosím balíček NuGet 'Microsoft.TypeScript.MSBuild', aby byla ve vašem projektu umožněna kompilace TypeScriptu.'
Můžete použít vlastnost NoWarn v msbuild ke ztlumení tohoto varování.
Řešení
Přidejte toto do svého souboru xxx.csproj:
<PropertyGroup>
<NoWarn>xxx(the related waning code like cs0219)</NoWarn>
</PropertyGroup>
================================
Aktualizace 1
Jelikož varování nemá číslo, nemůžete k jeho potlačení použít NoWarn.
Místo toho můžete použít
<WarningLevel>0</WarningLevel>
Nicméně, potlačí to všechna varování ve vašem projektu. Pro váš problém je to nejlepší způsob, ale stále má některé nevýhody, pokud chcete ostatní varování.
Jako návrh, můžete vytvořit novou konfiguraci s názvem Test (Sestavení-->Správce konfigurací-->klikněte na svůj projekt a klikněte na Nový pod rozbalovacím seznamem Konfigurace)
, poté je přidejte do souboru xxx.csproj:
<PropertyGroup Condition="'$(Configuration)'=='Test'">
<WarningLevel>0</WarningLevel>
</PropertyGroup>
Vy můžete použít Testovací konfiguraci k sestavení svého projektu a potlačí varování.
Pokud chcete vidět ostatní varování nebo se vypořádat s ostatními varováními, můžete přepnout do Debug nebo Release módu, abyste sestavili svůj projekt.
====================
Aktualizace 2
Po důkladném výzkumu jsem na své straně reprodukoval váš problém:
Protože ve VS v MSBuild nespecifikujete verzi TypeScriptu, dochází k chybě.
Příčinou toho je, že jste nastavili Build Action souborů TypeScript na TypeScript file. Pokud to tak nastavíte, MSBuild je rozpozná a umožní MSBuild použít TypeScript k jejich sestavení. Protože nepoužíváte TypeScript od MSBuild, dochází k této chybě.
Řešení
Můžete nastavit Build Action každého souboru TypeScript na Content a přidat vlastní nástroj do npm run typescript.
Poté restartujte svůj projekt a otestujte to znovu a jsem si jistý, že chyba zmizí.



