WinRT e DLL: cosa posso usare esattamente?

c# dll html-agility-pack json.net windows-runtime

Domanda

Non è tutto chiaro per me, quindi spero che qualcuno qui conosca la risposta. Sto usando C # Json.Net e C # HtmlAgilityPack entrambi creati da fonti per "Any CPU". Ho notato che entrambi includono l'uso di direttive che fanno riferimento a assiemi che non sembrano essere disponibili in Metro, ma entrambi si adattano bene.

Se faccio riferimento a loro, vuol dire che la mia app verrà trasmessa al codice non gestito?

Che cosa causa esattamente il thunking del codice non modificato?

Perché le DLL possono fare riferimento a assembly che non sono disponibili per WinRT e la mia app no?

Questo fallirà nel processo di approvazione del negozio di windows?

Quali sono le regole generali per le DLL che includo con la mia app di cui devo preoccuparmi?

Grazie in anticipo!

Risposta popolare

Durante lo sviluppo di app rivolte a WinRT, l'app deve utilizzare solo le API disponibili in Windows 8 WinRT. Le API sono definite nei file WinMD. Se l'app utilizza le API desktop, verrà rifiutata durante il processo di approvazione del negozio di Windows.

Immagina questo scenarioio. Hai sviluppato un'app WinRT che utilizza DLL .NET dalla modalità desktop (profilo client). L'app è distribuita nell'archivio di Windows e l'utente lo scarica sul tablet ARM. L'applicazione si arresta in modo anomalo poiché non ha le DLL .NET (client) desktop sui dispositivi ARM.

quindi questo ci porta alla domanda su quali classi .NET possiamo usare durante lo sviluppo di app per WinRT. L'articolo http://kishore1021.wordpress.com/2012/08/06/what-is-portable-class-library-project-in-visual-studio-2012-net-4-5/ elenca le classi .NET disponibili per lo sviluppo di applicazioni WinRT.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché