Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

6.9K
Views
Error de publicación: se encontraron varios archivos de salida de publicación con la misma ruta relativa

Cuando publico mi proyecto ABP me sale el siguiente error:

 C:\Program Files\dotnet\sdk\6.0.100-rc.1.21458.32\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets(112,5): error NETSDK1152: Found multiple publish output files with the same relative path: D:\Github\volo\abp\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\compilerconfig.json, D:\Github\volo\abp\bookstore\src\Acme.BookStore.Theme\compilerconfig.json, D:\Github\volo\abp\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\package.json, D:\Github\volo\abp\bookstore\src\Acme.BookStore.Web\package.json. D:\Github\volo\abp\bookstore\src\Acme.BookStore.Web\Acme.BookStore.Web.csproj
over 4 years ago · Santiago Trujillo
6 answers
Answer question

0

Esto se debe a un cambio importante en el SDK de .NET 6 y es independiente de la versión de .NET de destino de sus proyectos. Por ejemplo, si instala Visual Studio 2022, instalará el SDK de .NET 6 y lo usará para compilaciones e implementaciones.

Puede obligar a VS a usar una cadena de herramientas SDK más antigua generando un archivo global.json ejecutando dotnet new globaljson en la raíz de su solución, luego reemplazando el valor de la propiedad "version" con la versión SDK deseada (use dotnet --list-sdks para enumerar versiones instaladas).

Supongo que esto significa que si tiene una dependencia de proyecto A->B donde A y B son ejecutables y tienen su propio appsettings.json, sería preferible dividir el proyecto B en B1 como un proyecto de shell con appsettings.json y B2 como una biblioteca con toda la funcionalidad de B. Entonces, las dependencias A->B2 y B1->B2 evitarían el problema de "múltiples archivos de salida de publicación".

over 4 years ago · Santiago Trujillo Report

0

Las respuestas anteriores me llevaron a mi solución. Mi caso es un proyecto de biblioteca de Entity Framework de creación propia que ahora estaba copiando su appsettings.json al construir el sitio web que lo usó.

Mi solución fue dejar que se copie en la carpeta de salida (cuando estoy realizando acciones de migración en VS **) pero evitar que se publique con el valor "Nunca" porque solo se publica como una biblioteca en un sitio web o servicio web.

 <ItemGroup> <Content Include="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <ExcludeFromSingleFile>true</ExcludeFromSingleFile> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </Content> </ItemGroup>

** Mi proyecto de biblioteca EF se construye a sí mismo de acuerdo con el patrón de este artículo de inicialización de datos .

Así como mi pastel y lo conservo.

over 4 years ago · Santiago Trujillo Report

0

Me encontré con esto con un proyecto Blazor WebAssembly y un proyecto de prueba de integración asociado que tenían archivos appsettings.json mientras estaba dotnet publish en dotnet a través de una acción de GitHub. Encontré dos formas adicionales que me funcionaron (junto con la respuesta aceptada):

  1. Agregue <IsPublishable>false</IsPublishable > al proyecto de prueba
  2. En los comandos de dotnet publish de dotnet, especifique .csproj directamente a través de argumentos
over 4 years ago · Santiago Trujillo Report

0

Si obtiene esto en una canalización de Azure Devops, puede agregar la siguiente tarea para especificar la versión SDK para su compilación

 - task: UseDotNet@2 displayName: 'Install .Net SDK version' inputs: packageType: sdk version: xxxxx //example (3.1.416) installationPath: $(Agent.ToolsDirectory)/dotnet

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/dotnet-core-tool-installer?view=azure-devops

over 4 years ago · Santiago Trujillo Report

0

Asunto:

El problema surge después de la migración de .NET 6. Hay una nueva función que bloquea la copia de varios archivos en el mismo directorio de destino con el mismo nombre de archivo. Consulte https://docs.microsoft.com/en-us/dotnet/core/compatibility/sdk/6.0/duplicate-files-in-output

Solución n. ° 1 (solución alternativa):

Puede agregar la siguiente propiedad de compilación a todos los archivos *.csproj de sus proyectos publicables (*.Web). Esta propiedad omitirá esta verificación y funcionará como antes, en .NET5.

 <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>

Solución #2:

Excluya los archivos problemáticos para copiarlos en la carpeta de salida. En este ejemplo, excluiremos estos archivos: compilerconfig.json y package.json .

Agregue las siguientes líneas a su common.props (ubicado en el directorio raíz de su solución):

 <Content Remove="compilerconfig.json;package.json"/> <None Include="compilerconfig.json;package.json"> <ExcludeFromSingleFile>true</ExcludeFromSingleFile> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None>
over 4 years ago · Santiago Trujillo Report

0

Pude resolverlo configurando el archivo Microsoft.NET.ConflictResolution.targets bajo <NETSdkError Condition="'$(_ResolvedFileToPublishContainsDuplicates)' == ' false '" <= esto era originalmente cierto.

Este archivo se encuentra en "\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets"

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!