簡體   English   中英

如何在Win 8.1模擬器上測試我的UWP應用(在VStudio 2015和Win10中創建)?

[英]How can I test my UWP app (created in VStudio 2015 & Win10) on a Win 8.1 emulator?

我不知道如何從Visual Studio 2015中運行Win8.1模擬器。

我正在運行Win10周年紀念版。 我還運行帶有所有Service Pack的Visual Studio Community 2015。

在Visual Studio的頂部,我看到以下內容: 仿真器選擇

是的,我看到了[Download new emulators ...]選擇,但它並不是很有用,因為它會將您帶到具有大量選項的網頁,並且描述性不強。 單擊后,您將轉到: https : //developer.microsoft.com/zh-cn/windows/downloads/sdk-archive

有誰知道我應該選擇哪個選項來獲得Win 8.1模擬器?

我猜是這個,但是它是解釋的舊版本(下載881MB): 仿真器選擇

另外,這是應該安裝的項目。 我完全看不到模擬器。 安裝SDK

任何其他方式

我還有其他方法可以確定我的UWP是否可以在Win8.1上正常運行嗎?

編輯

部署Win 10有很多問題? 贏得8.1應用。 眾多。 這就是為什么巨魔不加評論地否決了這個問題嗎? 很無助,巨魔。

我曾在2013年以UWA(無論微軟叫什么名字)來編寫我的應用程序? 專門針對Win8.x。 然后,我閱讀了UWP文檔,並確定應該以UWP的形式編寫( UNIVERSAL ,Microsoft,我認為您不理解該詞的含義)。 不知道是什么意思。

Visual Studio 2013 Win8.x版本不希望在Visual Studio 2015中正確生成和運行。

想確保Win8.x用戶也可以運行我的應用程序

是的,Microsoft,仍然有人在運行Win8.x。 我還以UWP的形式在Visual Studio 2015中構建了該應用程序,但我也希望我的應用程序也可以為Win8.x用戶運行。 您知道,我實際上是在嘗試使我的應用具有通用性。

Visual Studio 2015建立Win8.1 App

我接受了回答此問題的人的建議,並開始構建Win8.1版本。 我可以使用Studio 2013和2015。 我可以在win10上構建並運行win8.1版本,因此我試圖在Win8.1設備上運行它-一切! 我嘗試這樣做,Visual Studio 2015告訴我我需要下載一個SDK。 好的,Visual Studio,我會做的。

然后,當安裝完成並重新啟動時,我嘗試在8.1模擬器上運行它。 不。根據微軟的有限知識,他們最終在Win10模擬器上運行它。

贏得8.1模擬器? 精神!

當我選擇以下內容時-清楚地顯示了Win8.1-然后它在Win10模擬器上運行。
win8.1仿真器失敗!

哦,好吧,也許我選錯了……即使它說的是Win8.1。 讓我們選擇一個特定的8.1手機模擬器,對嗎?

更多失敗!

當您嘗試使用該選項在Visual Studio 2015中構建時,會出現以下錯誤: win8專業

是的,沒錯,微軟。 我沒有Win 8 x64 Professional。 那是因為當我試圖將此應用程序編寫為UWP時,您強迫我升級到Windows Anniversary Edition來進行Win10開發。

支持兩個不同版本的應用程序

微軟支離破碎,無濟於事。 我將弄清楚這一點並創建我的解決方法,這可能意味着支持該應用程序的兩個不同版本。 那也行。 但是,微軟(以及其他無名的巨魔(也許是MSMVP)?)表現得不像是這個問題的明顯答案。

祝所有陷入這個陷阱的人好運。

編輯2在提到的內容上還有一件事情:

新的API與舊的OS不兼容是很有意義的,它可以在任何地方以這種方式完成。

確實有道理。 我也是Android開發人員和iOS開發人員,因此我使用Android Studio和XCode開發應用程序並定位各種硬件,因此我想對此進行評論。 實際上,這是真的。 例如,您可以使用可能不再受支持的舊API或以前的Android版本不可用的新API。

要點

但是,關鍵是Android允許您:

  1. 很容易知道這種情況何時發生

  2. 輕松地在各種硬件仿真器上進行測試,所以您會知道

  3. 有更好,更詳盡的文檔。

確實,XCode也是如此。 顯然,微軟跳入了這個想法,甚至不知道他們的目標是什么。 趕往市場。

您無法在Windows 8.1模擬器或Windows Phone 8.1模擬器上測試UWP應用,因為UWP應用與Windows 8.1不向后兼容。

UWP應用僅在Windows 10上運行,因此您只能支持升級到此版本OS的設備。

要同時針對Windows 10和Windows 8.1,您將需要構建Windows 8.1應用程序而不是UWP應用程序。 當您的項目是Windows Phone 8.1應用程序時,“調試”菜單中將提供Windows Phone 8.1仿真器。

UWP應用是通用的

通用Windows API在到達這個真正通用點之前,經過了許多更改。

有一個非常有用的時間表,可以幫助您了解以下內容:

Windows API統一

如您所見,為了使以前所有的單獨操作系統都集成到一個統一的Windows Core和統一的編程模型中,融合需要進行很多底層更改。

Windows 8.1運行時API和UWP API之間的變化並不大,但要點是,要過渡到最終目標Windows 10,它需要進行重大更改。

Windows 10是Windows的最新版本 這意味着,您今天構建的應用程序肯定會是通用的,並且今后會受到支持 新模型不僅允許針對多種不同的設備尺寸(借助自適應設計),而且還針對多種不同版本的OS。

使用版本自適應代碼的概念,可以在使用前使用簡單的if語句查看特定功能或API是否可用:

// Check for presence of type MediaPlayerElement.
if (ApiInformation.IsTypePresent("Windows.UI.Xaml.Controls.MediaPlayerElement"))
{
    mediaControl = new MediaPlayerUserControl();
}
else
{
    mediaControl = new MediaElementUserControl();
}

這樣做的最大好處是,您始終可以以最新的API為目標,而在一個代碼庫中保持對較早版本的支持,而無需任何“黑客”操作。 您可以針對特定的OS版本,特定的設備,特定的輸入來微調代碼,然后對其進行命名。

我實際上認為Windows 10的自適應代碼實現比現在的Android更好。 通過將Roslyn集成到Visual Studio中,所有這些都得到了改進,它允許使用自定義分析器(例如PlatformSpecific.Analyzer) ,當使用不支持的API時,它可以讓您知道,甚至可以使用條件自適應代碼if語句修復代碼。

到達這里是一條坎rock的路,但是從現在開始,對於我們的開發人員來說,一切都會變得更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM