Estoy mirando y siguiendo el código de ejemplo que tiene las siguientes líneas:
public static DispenseOptionSketchVolume DoSketchVolume = new(); public static SketchSettingsPageData SketchSettingsPageData = new(); public static BlockVolumeData BlockVolumeData = new(); public static SketchEntityVolumePage SketchEntityVolume = new();En mi propio proyecto, creé una biblioteca de clases de Framework 4.8 pero recibí el error:
La función 'creación de objetos con tipo de destino' no está disponible. Utilice la versión de idioma 9.0 o superior.
new();es el error
Si agrego esto a mi propio csproj:
<PropertyGroup> <LangVersion>9.0</LangVersion> </PropertyGroup> Visual Studio me pide que me adjunte a un proceso: 
En el proyecto de ejemplo, el marco se establece en 4.8, el tipo es una biblioteca de clases, hay un marco que registra automáticamente el dll y se ejecuta. No hay una directiva <LangVersion> en ningún archivo csproj o de otro modo.
¿Cómo podría el proyecto de ejemplo compilar = new(); ¿declaraciones?
Acabo de configurar <LangVersion>9.0</LangVersion> en una gran solución .NET Framework 4.8 y funciona como se esperaba. El nuevo tipo de destino está disponible y no se muestran mensajes de error. Probé con éxito tanto VS2019 como VS2022. Así que parece que esto funciona. Tal vez necesite asegurarse de que está compilando al menos con el compilador .NET 5.0. Asegúrese de que su global.json requiera al menos un SDK 5.0.