2012-06-08 62 views
1

我正在开发C#\ XAML metro-ui应用程序。我需要一些不包含在.NET for Metro style appsWindows引用中的.NET类型(例如位于System.Web中的HttpUtility)。我无法通过程序集列表找到System.Web。在同一时间,我可以通过浏览引用它。但据我了解,正确的方式不是好方法,我应该避免这种情况,是吗?Windows 8中的Metro应用参考和类型

接下来的事情我找到了描述Assembly类。在Version Information部分的页面底部,我可以看到它受到Portable Class Library的支持。在样品我看下代码

Assembly assem = Assembly.GetExecutingAssembly();

但在我的项目Assembly没有GetExecutingAssembly方法。它是否过时?或者我想念什么?

我使用的是Windows 8候选发布版和VS 2012

EDIT0:与其HttpUtilityWebUtility我知道我应该使用。但我只是举个例子来选择这种类型。

编辑1:我看到public static System.Reflection.Assembly GetExecutingAssembly()通过对象浏览器,但无法达到它。

回答

3

Metro风格的应用程序只能调用.NET Core Profile中的方法。您可以在Windows 8 RP计算机上看到Core Profile参考程序集...

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5 

您可以使用ILDasm或ILSpy查看它们。请参阅Build的A .NET developer's view of Windows 8 app development视频。他谈到了关于Core Profile的更多内容,以及为什么某些类,方法和接口被删除。

+0

这很奇怪,但ILSpy显示'Assembly'没有'GetExecutingAssembly',但VS 2012中的对象浏览器显示它具有。 – RredCat

+0

便携式组件怎么样?它们位于那里 - “C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ .NETPortable \ v4.5” – RredCat

相关问题