WinRT和DLL:我準確使用了什麼?

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

這對我來說並不是很清楚,所以我希望有人知道答案。我使用的是C#Json.Net和C#HtmlAgilityPack,它們都是根據“Any CPU”的來源構建的。我注意到這兩個包括使用引用程序集的指令,這些指令似乎在Metro中不可用,但它們都構建良好。

如果我引用它們,這是否意味著我的應用程序將陷入非託管代碼?

究竟是什麼原因導致thunking到無人編碼?

為什麼允許DLL引用WinRT不可用的程序集而我的應用程序不可用?

這會導致Windows商店批准過程失敗嗎?

我需要擔心的應用程序中包含的DLL的一般規則是什麼?

提前致謝!

熱門答案

在開發針對WinRT的應用程序時,應用程序應該只使用Windows 8 WinRT中提供的API。 API是在WinMD文件中定義的。如果應用程序使用桌面API,則在Windows商店批准過程中將拒絕該應用程序。

想像一下這個場景。您開發了一個WinRT應用程序,它使用桌面模式的.NET DLL(客戶端配置文件)。該應用程序部署在Windows商店中,用戶將其下載到ARM平板電腦上。應用程序將崩潰,因為它沒有ARM設備上的桌面(客戶端).NET DLL。

所以這讓我們想到了在為WinRT開發應用程序時我們可以使用哪些.NET類的問題。文章http://kishore1021.wordpress.com/2012/08/06/what-is-portable-class-library-project-in-visual-studio-2012-net-4-5/列出了可用的.NET類用於WinRT應用程序開發。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因