一些初学者的Silverlight和Windows Phone一般性问题

时间:2013-05-19 08:05:59

标签: .net silverlight visual-studio-2012 windows-phone-8

我正在开始开发Windows Phone应用程序,甚至在WPF中有一些强大的背景是我第一次使用Silverlight。还有一些我还不了解的事情:

  1. Silverlight是一个完整的执行引擎吗?替换.NET引擎?或者它是一组装配?
  2. Silverlight和.NET程序集是否不同?它们兼容吗?
  3. 为什么Visual Studio 2012中的Winows Phone 8项目显示3个引用,但是当您查看csproj时,只有对Microsoft.Phone.Controls.dll的引用?
  4. 关于第3点,截图使其更加清晰:

    enter image description here

    使用以下csproj系列创建了这3个参考文献:

    <Reference Include="Microsoft.Phone.Controls, Version=8.0.0.0, Culture=neutral, PublicKeyToken=24eec0d8c86cda1e, processorArchitecture=MSIL" />
    

1 个答案:

答案 0 :(得分:1)

  1. 稍微简化一下,您可以将Silverlight视为完整(桌面).NET框架的子集。更重要的是,Windows Phone 8上提供的.NET支持“传统”.NET功能的一部分。从WPF的角度来看,您会发现没有像在桌面应用程序中使用它们那样支持命令,还有许多其他较小的差异。
  2. 是的,Silverlight和桌面.NET程序集是不同的。虽然许多类在两种环境中几乎完全相同,但实际的程序集却不同。例如,您不能使用桌面.NET框架构建一个程序集,而是直接在Windows Phone上使用它(尽管如果您有源代码,则可以将源代码构建到Windows Phone程序集中)
  3. 不确定这里的问题是什么。我通常只在项目中看到Windows Phone作为标准框架程序集的引用(当然还有我选择引用的任何其他程序集)
  4. 如果您正在寻找跨.NET平台共享代码(例如桌面,电话,Win8 / RT),那么您需要查看Portable Class Libraries。这些有效地针对可以在所有支持的平台上运行的.NET功能的公共子集。例如,这是在Windows Phone和Windows 8应用程序之间共享代码的便捷方式。