WinRT und DLLs: Was genau darf ich verwenden?

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

Frage

Es ist nicht alles klar für mich, also hoffe ich, dass jemand hier die Antwort kennt. Ich verwende das C # Json.Net und das C # HtmlAgilityPack, beide aus Quellen für "Any CPU". Mir ist aufgefallen, dass beide die Verwendung von Direktiven beinhalten, die auf Baugruppen verweisen, die in Metro anscheinend nicht verfügbar sind, aber beide bauen gut auf.

Wenn ich sie referenziere, bedeutet das, dass meine App zu nicht verwaltetem Code gehört?

Was genau verursacht Thunking auf nicht gemanagten Code?

Warum dürfen DLLs auf Assemblys verweisen, die für WinRT nicht verfügbar sind und meine App nicht?

Wird dies den Genehmigungsprozess für den Windows Store nicht bestehen?

Welche allgemeinen Regeln gelten für DLLs, die ich in meine App einbeziehe, um die ich mich kümmern muss?

Danke im Voraus!

Beliebte Antwort

Bei der Entwicklung von Apps, die auf WinRT abzielen, sollte die App nur die in Windows 8 WinRT verfügbaren APIs verwenden. Die APIs sind in WinMD-Dateien definiert. Wenn die App die Desktop-APIs verwendet hat, wird sie während des Windows Store-Genehmigungsprozesses abgelehnt.

Stellen Sie sich diese Szenerie vor. Sie haben eine WinRT-Anwendung entwickelt, die .NET DLLs aus dem Desktop-Modus (Client-Profil) verwendet. Die App wird im Windows Store bereitgestellt und der Benutzer lädt sie auf ein ARM-Tablet herunter. Die Anwendung wird abstürzen, da sie nicht die Desktop (Client) .NET DLLs auf den ARM-Geräten hat.

Das bringt uns zu der Frage, welche .NET-Klassen wir bei der Entwicklung von Apps für WinRT verwenden können. Der Artikel http://kishore1021.wordpress.com/2012/08/06/what-isportable-class-library-project-in-visual-studio-2012-net-4-5/ listet die verfügbaren .NET-Klassen auf für WinRT Anwendungsentwicklung.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum