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

Tvt*_*Tvt 4 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(','));
        }
    }
Run Code Online (Sandbox Code Playgroud)

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

  1. System.Reflection.Assembly.equals
  2. System.Reflection.Assembly.load
  3. System.Reflection.Assembly.ReferenceEquals

现在有人如何得到相同的结果?或者我应该开始重写很多代码.

谢谢你

Jef*_*hen 6

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

this.GetType().GetTypeInfo().Assembly.FullName
Run Code Online (Sandbox Code Playgroud)

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

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

有关更多信息,请参阅文章Reflection和.NET Native.

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

在此输入图像描述