Estoy usando Visual Studio 2022 y creé una aplicación winforms .net 6. Especifiqué una ruta de salida para mi compilación de lanzamiento donde quiero que se cree el .exe, pero Visual Studio crea una subcarpeta llamada 'net6.0-windows' y coloca el exe allí. ¿Cómo detengo esto y hago que coloque el exe donde especifiqué?
Algunos antecedentes: estoy actualizando .Net Framework 4.8 Winforms a .Net 6. En .net framework, coloca el exe en la carpeta de salida especificada (sin subcarpetas). Quiero mantener el mismo comportamiento porque otros archivos y utilidades también deben estar allí o buscar en esa carpeta.
Ruta de salida especificada en Visual Studio
[
]
Ruta de salida real
[
]
Proporcionaré la siguiente información como referencia y en aras de responder la pregunta.
Puede evitar que TargetFramework se agregue a la carpeta de salida agregando la siguiente propiedad a su archivo de proyecto.
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> Además, puede evitar que se agregue un RuntimeIndentifier (por ejemplo win-x64 ), si lo hay, configurando esta propiedad en falso:
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>¿Deberías hacer esto?
Tal vez no. Esos directorios están ahí por una razón: para permitir múltiples TargetFramework (versiones) y/o múltiples RuntimeIndentifier en paralelo (de lo contrario, las salidas se mezclarían de una manera impía).