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

149
Views
System.Runtime.InteropServices.COMException al iniciar un archivo pdf en Windows Phone

Estoy tratando de abrir un archivo pdf usando el siguiente código de trabajo que usé anteriormente en otra aplicación,

pero esta vez obtengo System.Runtime.InteropServices.COMException cuando el flujo llega a esta línea: Windows.System.Launcher.LaunchFileAsync(pdffile);

¿Cuál es el significado de esta excepción y cómo deshacerse de ella?

Tenga en cuenta que sin preocuparse por esta excepción (deshabilitarla),

el archivo todavía no se puede abrir.

Tenga en cuenta: el archivo existe en mi carpeta aislada (verificada con wpowertool),

Probé con 2 archivos diferentes, por lo que no debería ser una cuestión de corrupción de archivos.

 public void openFile(string options) { System.Diagnostics.Debug.WriteLine("options: " + options); string optVal = JsonHelper.Deserialize<string[]>(options)[0]; asyncOpen(optVal); } public async Task asyncOpen(string filename) { filename = filename.Substring(2, filename.Length - 2); filename = filename.Replace("//", "/").Replace("/", "\\"); Windows.Storage.StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder; Debug.WriteLine("local: " + local.Path); Windows.Storage.StorageFile pdffile = await local.GetFileAsync(filename); Debug.WriteLine("pdffile: " + pdffile.Name); //// Launch the pdf file. Windows.System.Launcher.LaunchFileAsync(pdffile); }

esta publicación de MSDN me pertenece. Sí, el archivo está instalado y tengo Acrobat Reader.

Tenga en cuenta que este código C# es un complemento phonegap/cordova que se llama a través de javascript en mi aplicación híbrida.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Preste atención a los comentarios en este artículo de MSDN - Launcher.LaunchFileAsync(IStorageFile) :

La aplicación de llamada debe estar visible para el usuario cuando se invoca la API.
Esta API debe llamarse desde un subproceso ASTA (también conocido como subproceso de interfaz de usuario).


Enormes felicitaciones al OP por compartir la solución. El siguiente código debería ayudar a otros a solucionar este problema:

 Deployment.Current.Dispatcher.BeginInvoke(() => { asyncOpenFile(options); });
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!