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

172
Views
La carpeta AppData/Local generada automáticamente se crea "incorrectamente"

cuando ejecuto un .net exe, se crea una carpeta correspondiente C:\Users\UserName\AppData\Local\AppName

dentro de esta carpeta, se crea otra carpeta AppName_Url_ABCXYZ

dentro de esta carpeta, se crea otra carpeta para la versión ensamblada de .net exe 0.2.28.0

¿Alguien puede explicar cómo Windows decide crear la carpeta de segundo nivel AppName_Url_ABCXYZ ?

tengo un problema cuando incremento mi versión de ensamblado y realizo una publicación de un solo archivo y ejecuto el exe resultante, se crea una nueva carpeta AppName_Url_ABCXYZ que contiene la nueva carpeta de versión de ensamblado.

esto causa problemas porque interrumpe la funcionalidad de Properties.Settings.Default.Upgrade() ya que la configuración para actualizar ya no está en el directorio esperado

Bien:

 -AppData -Local -MyApp -MyApp_Url_ABCXYZ -0.2.13.0 -0.2.14.0 -0.2.15.0

Malo:

 -AppData -Local -MyApp -MyApp_Url_ABC1 -0.2.13.0 -MyApp_Url_ABC2 -0.2.14.0 -MyApp_Url_ABC3 -0.2.15.0

ingrese la descripción de la imagen aquí

Actualizar:

La información proporcionada por @Richard Deeming indica que la parte hash de la carpeta appdata se genera así:

 var uri = "file:///" + fullExePath; //or 'assemblyName.CodeBase' if vshost (you can check the 'FriendlyName') uri = uri.ToUpperInvariant(); var ms = new MemoryStream(); var bSer = new BinaryFormatter(); bSer.Serialize(ms, uri); ms.Position = 0; var sha1 = new SHA1CryptoServiceProvider(); var hash = sha1.ComputeHash(ms); var hashstring = ToBase32StringSuitableForDirName(hash);

lo que no tiene sentido ya que la ruta exe no está cambiando

este problema no ocurre con una nueva aplicación WPF .net 6 e incrementando la versión de ensamblaje, por lo que es algo específico de mi aplicación.

examinar los exe resultantes en el explorador de Windows no ayuda, parecen idénticos.

Actualizar:

No he podido determinar por qué ocurre esto en mi proyecto. Ni siquiera sé cómo depurarlo. Nunca he realizado ningún cambio intencional en este comportamiento.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Descargue el paquete completo del proyecto aquí: ConsoleApp1.zip

Para demostrarlo, creemos una aplicación de consola simple:

ingrese la descripción de la imagen aquí

y agregale un enlace:

 <PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.0" />

También agregaremos el archivo de propiedades del proyecto Settings.settings. Como resultado, obtenemos un proyecto con la siguiente configuración:

ingrese la descripción de la imagen aquí

Después de compilar en modo de depuración y ejecutar el resultado de ConsoleApp1.exe, obtenemos la siguiente imagen en la ruta C:\Users\Administrator\AppData\Local\ConsoleApp1:

ingrese la descripción de la imagen aquí

dentro de esta carpeta habrá una carpeta con el número de versión del programa:

ingrese la descripción de la imagen aquí

Al compilar la versión de lanzamiento y ejecutar el resultado de ConsoleApp1.exe, obtenemos la siguiente imagen en la ruta C:\Users\Administrator\AppData\Local\ConsoleApp1:

ingrese la descripción de la imagen aquí

dentro de esta nueva carpeta también habrá una carpeta con el número de versión del programa:

ingrese la descripción de la imagen aquí

Cabe señalar que las versiones de depuración y lanzamiento del programa crean carpetas diferentes.

Cuando cambie la versión del proyecto, aparecerán nuevas versiones en las carpetas de depuración y lanzamiento, respectivamente:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Los programas de depuración y lanzamiento son "versiones" de compilación diferentes del mismo proyecto, y se crean URL diferentes para separarlos.

Descargue el paquete completo del proyecto aquí: ConsoleApp1.zip

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!