2017-05-25 84 views
1

是XAML clr-namespace版本的255.255.255.255特別的東西還是隻是一個任意值?什麼是XAML clr命名空間版本255.255.255.255?

當試圖玩一些Xamarin.Forms原生視圖嵌入時,我碰到了Xamarin文檔上的Consuming Native Views示例。在XAML裏面,它增加了一個Windows命名空間是這樣的:

<ContentPage 
    ... 
    xmlns:win="clr-namespace:Windows.UI.Xaml.Controls;assembly=Windows, 
    Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, 
    ContentType=WindowsRuntime;targetPlatform=Windows" 
    ... 
> 

在該命名空間下Version看起來有點像一個網絡的子網掩碼,因此它引起了我的眼睛。這個特定的版本是否有一些特殊的含義,或者它們是否只是填充它,因爲它期望在那裏有價值?那裏有其他特殊的價值嗎?

回答

1

ECMA 335的標準定義了公共語言基礎結構(CLI),其中用多種高級語言編寫的應用程序可以在不同的系統環境中執行,而無需重新編寫那些應用程序以考慮這些應用程序的獨特特性環境。

ECMA 335組件需要有一個版本號。但是Windows運行時類型解析算法不使用版本號,因此創建winmd格式的團隊爲程序集版本號選擇了任意版本號255.255.255.255。

這有助於確保沒有人嘗試使用.Net類型的分辨率算法進行類型分辨率(這不完美,不幸的是一些工具仍然使用.Net類型的分辨率算法)。

欲瞭解更多詳情請參閱What does version 255.255.255.255 for winmd files indicate?

相關問題