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应用程序开发。



Related

许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因