Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo se aplica a: ✔️ SDK de .NET Core 2.1.100 y versiones posteriores
A partir de Visual Studio 2017 y MSBuild, versión 15.3, el SDK de .NET incluye automáticamente los elementos del directorio del proyecto de forma predeterminada. Estos elementos incluyen destinos Compile y Content. Este comportamiento simplifica los archivos del proyecto.
Sin embargo, si define explícitamente cualquiera de estos elementos en el archivo del proyecto, es probable que obtenga un error de compilación similar al siguiente:
Se han incluido elementos de compilación duplicados. El SDK de .NET incluye elementos de compilación del directorio del proyecto de forma predeterminada. Puede quitar estos elementos del archivo del proyecto, o bien establecer la propiedad "EnableDefaultCompileItems" en "false" si quiere incluirlos de forma explícita en el archivo del proyecto.
Se incluyeron elementos "EmbeddedResource" duplicados. El SDK de .NET incluye elementos "EmbeddedResource" del directorio del proyecto de forma predeterminada. Puede quitar estos elementos del archivo del proyecto, o bien establecer la propiedad "EnableDefaultEmbeddedResourceItems" en "false" si quiere incluirlos en él de forma explícita.
Para resolver los errores, lleve a cabo una de las siguientes acciones:
Quite los elementos
Compile,EmbeddedResourceoNoneexplícitos que coincidan con los implícitos enumerados en la tabla anterior.Establezca la propiedad EnableDefaultItems en
falsepara deshabilitar toda la inclusión de archivos implícita:<PropertyGroup> <EnableDefaultItems>false</EnableDefaultItems> </PropertyGroup>Si quiere especificar que se publiquen archivos con la aplicación, puede seguir usando los mecanismos de MSBuild conocidos para ello, por ejemplo, el elemento
Content.Deshabilite de forma selectiva solo los globs
Compile,EmbeddedResourceoNonemediante el establecimiento de la propiedad EnableDefaultCompileItems, EnableDefaultEmbeddedResourceItems o EnableDefaultNoneItems enfalse:<PropertyGroup> <EnableDefaultCompileItems>false</EnableDefaultCompileItems> <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems> <EnableDefaultNoneItems>false</EnableDefaultNoneItems> </PropertyGroup>Si solo deshabilita los globs
Compile, el Explorador de soluciones de Visual Studio sigue mostrando elementos *.cs como parte del proyecto, incluidos como elementosNone. Para deshabilitar el globNoneimplícito, establezcaEnableDefaultNoneItemsenfalse.
Proyectos de WPF
Es posible que este error se produzca en un proyecto de WPF debido a elementos ApplicationDefinition o Page duplicados. Para resolver el error, puede deshabilitar los elementos predeterminados con una propiedad de MSBuild. Por ejemplo, para deshabilitar los elementos Page predeterminados en un proyecto de WPF, establezca EnableDefaultPageItems en false:
<PropertyGroup>
<EnableDefaultPageItems>false</EnableDefaultPageItems>
</PropertyGroup>
Para obtener más información, consulte Errores relacionados con elementos duplicados (WPF).