Dubbla citattecken i filnivådirektiv tillåts inte

Användning av dubbla citattecken " i #: filnivådirektiv är nu ett build-time-fel när du kör filbaserade appar (till exempel dotnet run app.cs).

Version lanserad

.NET 10 GA

Tidigare beteende

I .NET 10 RC2 och äldre .NET 10-förhandsversioner blockerades inte citattecken i direktiv, men de fungerade inte som förväntat. De kodades bara som vilket annat specialtecken som helst och skickades till MSBuild. För exempel #:property Prop="my test" resulterade i <Prop>&quot;my test&quot;</Prop>.

Nytt beteende

Ett fel rapporteras om ett dubbelt citattecken " påträffas i något filnivådirektiv. Felmeddelandet är:

Direktiv får för närvarande inte innehålla dubbla citattecken (").

Typ av brytande ändring

Den här ändringen kan påverka källkompatibiliteten.

Orsak till ändring

Denna ändring möjliggör framtida stöd för citerade direktiv utan att införa en icke-bakåtkompatibel ändring. Detta förbättrar också upplevelsen av felåterställning om användarna nu försöker använda citattecken och tror att det är en stödd syntax.

Använd inte citattecken i #: direktiv. Om du verkligen behöver använda ett dubbelt citattecken (eller ett annat specialtecken som för närvarande inte stöds, till exempel avslutande blanksteg), flyttar du motsvarande projektmetadatapost till en Directory.Build.props fil i stället (den hämtas av den filbaserade appen). Du kan också konvertera den filbaserade appen till ett fullständigt projekt via dotnet project convert.

Berörda API:er

Ingen.