2013-05-19 36 views
0

我開始開發Windows Phone應用程序,甚至在WPF中有一些強大的背景是我第一次使用Silverlight。還有一些我還不明白的東西:一些Silverlight和Windows Phone初學者的一般問題

  1. Silverlight是一個整體執行引擎嗎?替換.NET引擎?或者它是一組裝配?
  2. Silverlight和.NET程序集有什麼不同?它們是兼​​容的嗎?
  3. 爲什麼Visual Studio 2012中的Winows Phone 8項目顯示3個引用,但是當您查看csproj時,只有對Microsoft.Phone.Controls.dll的引用?

關於第3點,一個屏幕截圖,以使其更清晰:

enter image description here

這3個引用creared具有以下的csproj行:

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

回答

1
  1. 稍微簡化您可以將Silverlight視爲完整(桌面).NET框架的子集。更重要的是,Windows Phone 8提供的.NET支持「傳統」.NET功能的一部分。從WPF的角度來看,您會注意到不支持命令,例如在桌面應用程序中使用它們,但也有許多其他較小的差異。
  2. 是的,Silverlight和桌面.NET程序集是不同的。雖然許多類在兩種環境中幾乎完全相同,但實際的程序集是不同的。例如,您無法使用桌面.NET框架構建程序集並直接在Windows Phone上使用它(但如果您有源代碼,則可以將源代碼構建到Windows Phone程序集中)
  3. 不確定這裏的問題是什麼。我通常只看到爲標準架組件參考Windows Phone在我的項目(加,當然,任何其他組件我選擇參考)

如果您正在尋找在整個.NET平臺上共享代碼(例如桌面,手機,Win8/RT),你需要看看Portable Class Libraries。這些有效地針對可在所有支持的平臺上運行的.NET功能的通用子集。例如,它是在Windows Phone和Windows 8應用程序之間共享代碼的簡便方法。

+0

謝謝。檢查第三個問題的編輯。所以Silverlight是新的運行時和程序集? Silverlight應用程序與WP8應用程序相同嗎? –