Windows phone 8.1 Assembly.GetExecutingAssembly不可用

时间:2014-08-20 18:43:36

标签: c# windows-phone-8.1

我正在使用反射来注册控制反转的默认实例。我需要扫描所有已加载的程序集,然后遍历每个类型并注册。问题是,在我的visual studio代码文件中,我没有方法Assembly.GetExecutingAssembly()或我通常期望的任何其他方法。

为什么会这样。我的代码应如下所示:

foreach (var type in (Assembly.GetExecutingAssembly().GetTypes())
{
    if (type.IsClass && !type.IsAbstract)
    {
       //registers the type for an interface it implements
    }
}

2 个答案:

答案 0 :(得分:7)

你不能像你发现的那样在WinRT中执行程序集 - 但你可以输入"你的程序集" - typeof(AnyTypeInYourAssembly).GetTypeInfo().Assembly

答案 1 :(得分:0)

我对此进行了更多研究,结果发现问题在于Windows Phone 8.1应用程序与WinRT应用程序具有相同的限制。 WinRT运行时没有GetExecutingAssembly方法。

你被迫使用变通办法。