检查Windows Phone程序集是否存在

时间:2013-12-17 15:17:01

标签: c# windows-phone-8 windows-phone .net-assembly

我有两个项目:

  • Windows Phone 8项目
  • 一个C#库项目(我在WP项目中使用的.dll作为参考)。

在上一个项目中,我必须检查代码是否在Windows Phone OS上运行。为此,我正在测试程序集 Windows.Phone 是否存在,如下所示:

Type.GetType("Microsoft.Phone.Controls.PhoneApplicationPage, Microsoft.Phone, Version=8.0.0.0, Culture=neutral, PublicKeyToken=...", true);

但是,这个.dll可以被不同的项目/应用程序使用。

我的问题:

  1. 如果Windows Phone程序集的版本更新为8.1.0.0,那么 以前的线路崩溃? (装配没有正确加载?)
  2. 所有Windows.Phone程序集的PublicKeyToken是否相同?
  3. 如果我能找到一个解决方案来测试Microsoft.Phone.Controls.PhoneApplicationPage是否存在,而不提供程序集的版本和publicKeyToken,那将会很棒。

    非常感谢你的帮助,

1 个答案:

答案 0 :(得分:0)

你为什么需要那个?它显然会在Windows Phone设备上运行,因为它是Windows Phone类库所以无法在其他任何地方运行。

如果您想确保在实际设备而不是模拟器上运行,请检查Microsoft.Devices.Environment.DeviceType

如果库项目实际上是C#库项目,您实际上可以通过调用某种特殊方法在启动期间告知该项目您正在设备上运行。