等效于system.Reflection.Assembly.GetExecutingAssembly()。FullName

时间:2015-11-09 14:59:52

标签: windows silverlight uwp

目前我正在使用UWP平台将Windows手机Silverlight应用程序移植到Windows Mobile。

在我的旧代码中,我使用函数以下列方式获取ExecutingAssemblyName:

        public static string ExecutingAssemblyName {
        get {
            string name = System.Reflection.Assembly.GetExecutingAssembly().FullName;
            return name.Substring(0, name.IndexOf(','));
        }
    }

现在我想在Windows mobile中获得相同的结果,但以下link中描述的功能似乎并不都在Windows移动中。我唯一能找到的是:

  1. System.Reflection.Assembly.equals
  2. System.Reflection.Assembly.load
  3. System.Reflection.Assembly.ReferenceEquals
  4. 现在有人如何获得相同的结果?或者我应该开始重写很多代码。

    谢谢你

1 个答案:

答案 0 :(得分:6)

要获取程序集的全名,可以使用以下代码(如Romasz所述)。

this.GetType().GetTypeInfo().Assembly.FullName

在UWP中,提交给商店的所有应用程序都将遵循.NET Native。

  

.NET Native运行时不包含JIT编译器。结果是,   必须提前生成所有必需的本机代码。一套   启发式用于确定应生成哪些代码,但是   这些启发式方法无法涵盖所有​​可能的元编程方案。

有关详细信息,请参阅文章Reflection and .NET Native

在您的情况下,我建议您使用资源文件(Resources.resw)来管理文本资源,并将文件资源(如图像,图标)放在Assets文件夹下。

enter image description here