2012-10-18 64 views
1

我有一些.NET代碼,我正在研究移植成Windows應用商店應用程序。Windows Store應用程序可以編譯爲x86而不是AnyCPU嗎?

這段代碼做了幾件不同的事情,它所做的一件事就是依賴於編譯爲x86而不是AnyCPU。

這會是一個問題嗎? Metro應用程序是否可以編譯爲x86,並且仍然可以分佈在Windows應用商店中?正在編譯爲x86將阻止它能夠在Windows RT中運行?我必須想出一個沒有這個功能子集的版本才能在Windows RT中運行嗎?如果我可以將代碼放入其自己的程序集中,我可以讓Windows RT版本不使用它? (所以,主要的可執行文件是AnyCPU,這個程序集是x86)。

+0

這可能是一個很好的問題,請問開發者聊天今晚在Windows 8聊天室聊天:http://chat.stackoverflow.com/rooms/17195/windows-8-developers-chat?cb=1 –

回答

-1

只需編譯你需要的任何庫文件,當你上傳到應用商店時,只需上傳你想要的文件。檢查您的apppackages文件夾並查找.appxupload文件。

5

Metro應用程序是否可以編譯爲x86並仍然分佈在Windows應用商店?

是的。但是,它只能用於x86安裝。

正在被編譯爲x86去阻止它能夠在Windows RT中運行?

由於Windows RT僅設計爲在ARM CPU上運行,因此爲x86編譯將阻止其無法在Windows RT上運行。

我必須想出一個沒有這個功能子集的版本才能在Windows RT中運行嗎?如果我可以將代碼放入其自己的程序集中,我可以讓Windows RT版本不使用它?

您可以使用條件編譯符號來包含/排除代碼中所需的功能。 https://stackoverflow.com/a/6587823/61385顯示了一個如何做到這一點的例子。

+0

我猜猜我真正要問的是 - 我需要推出兩個版本嗎?我看到條件語句是如何讓我看到一個代碼庫的,但是有可能在RT上運行時發佈一個可以排除x86相關功能的版本嗎?如果是這樣,這是否會超過微軟的審查人員並進入商店? –

+0

是的,我想這是可能的。在構建應用程序時,您需要指定要支持的體系結構(x86,x64和ARM)。這將創建相應的文件上傳。無論您上傳的文件是支持哪些平臺出現在商店中。審查人員是否會接受它完全是另一回事。在提交您的應用程序進行認證時,有一個字段用於向測試人員提供筆記,所以我想您可以使用它來提供有關功能差異的詳細信息。 – Akinwale

相關問題