Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

450
Vistas
El proyecto al que se hace referencia es un ejecutable no autónomo. Un ejecutable no autónomo no puede ser referenciado por un ejecutable autónomo

Tengo un problema al tratar de compilar mi .netcore3.1 después de actualizar el SDK a la vista previa de .NET 6.0 durante la depuración a través de Visual Studio.

Mi CSProject está abajo:

 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <RuntimeIdentifier>win-x64</RuntimeIdentifier> <UserSecretsId>f5884bc9-1eeb-1458-bba9-832ed8f4cd4e</UserSecretsId> </Project>

mi dotnet sdk instalado:

 .NET SDK (reflecting any global.json): Version: 6.0.100-preview.5.21302.13 Commit: d6380bcae7 Runtime Environment: OS Name: Windows OS Version: 10.0.18363 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\6.0.100-preview.5.21302.13\ Host (useful for support): Version: 6.0.0-preview.5.21301.5 Commit: ec3e0b276b .NET SDKs installed: 1.1.14 [C:\Program Files\dotnet\sdk] 2.1.519 [C:\Program Files\dotnet\sdk] 2.2.104 [C:\Program Files\dotnet\sdk] 3.0.103 [C:\Program Files\dotnet\sdk] 3.1.300 [C:\Program Files\dotnet\sdk] 5.0.301 [C:\Program Files\dotnet\sdk] 6.0.100-preview.5.21302.13 [C:\Program Files\dotnet\sdk]

error de mensajes :

El proyecto al que se hace referencia es un ejecutable no autónomo. Un ejecutable no autónomo no puede ser referenciado por un ejecutable autónomo.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

De acuerdo con la documentación , su configuración nunca funcionó, pero solo lo descubriría al intentar ejecutar la aplicación de referencia:

En versiones anteriores de .NET SDK, podía hacer referencia a un proyecto ejecutable autónomo desde un proyecto ejecutable no autónomo sin un error de compilación. Sin embargo, ambas aplicaciones no serían ejecutables. A partir de .NET SDK 5, se genera un error si un proyecto ejecutable hace referencia a otro proyecto ejecutable y los valores autónomos no coinciden.

Ahora, obtiene el error en el momento de la compilación, para que sepa que necesita corregir un proyecto u otro para que su "autocontención" coincida.

Tenga en cuenta que si está seguro de que desea mezclar los valores SelfContained a pesar de los problemas potenciales, puede deshabilitar la verificación de esa condición agregando <ValidateExecutableReferencesMatchSelfContained>false</ValidateExecutableReferencesMatchSelfContained> al archivo .csproj.

over 4 years ago · Santiago Trujillo Denunciar

0

Tengo el mismo problema con .net 3.1 y no con SDK5. Creo que han arreglado algo ya que mi aplicación funcionaba bastante bien en producción y prueba, y ahora se queja de esto.

Actualicé la configuración de publicación para que dependa del marco y ahora funciona como se esperaba. Visual Studio acaba de comenzar a construir cuando guardo archivos, lo que nunca solía hacer. Tal vez una actualización de VS, ya que las hago automáticamente.

over 4 years ago · Santiago Trujillo Denunciar

0

Para solucionar esto, todos los proyectos a los que se hace referencia deben ser autónomos y eliminar la etiqueta de Plataformas de todos los proyectos. Haga clic en cada proyecto de su solución y asegúrese de que los archivos *.csporoj tengan la siguiente configuración.

Común.csproj

 <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <RuntimeIdentifier>linux-x64</RuntimeIdentifier> <SelfContained>true</SelfContained> </PropertyGroup>

Aplicación.csproj

 <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> <RuntimeIdentifier>linux-x64</RuntimeIdentifier> <SelfContained>true</SelfContained> </PropertyGroup> <ItemGroup> <ProjectReference Include="..\Common\Common.csproj" /> <ProjectReference Include="..\AppWorker\AppWorker.csproj"> <CopyLocal>True</CopyLocal> <CopyLocalSatelliteAssemblies>True</CopyLocalSatelliteAssemblies> </ProjectReference> </ItemGroup>

AppWorker.csproj

 <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <RuntimeIdentifier>linux-x64</RuntimeIdentifier> <SelfContained>true</SelfContained> </PropertyGroup> <ItemGroup> <ProjectReference Include="..\Common\Common.csproj" /> </ItemGroup>

También un paso importante, al realizar la operación de publicación, asegúrese de seleccionar Release-AnyCPU . Por alguna razón, las otras opciones hacen que la publicación falle y muestre un error de configuración incorrecto en la barra de herramientas.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda