基本問題/摘要:我需要引用由Win 10通用應用程序項目中其他人創建的二進制文件(dll)。但是,x86和arm有一個單獨的dll。我相信我需要從項目中引用dll(或者至少是winmd文件)來部署,但我只能引用一個文件而不是兩個文件。這意味着應用程序在一個平臺或另一個平臺(桌面或電話)上失敗,因爲它包含錯誤的二進制文件。尋找解決方案。從Windows 10通用應用程序引用C Dll跨CPU體系結構
更詳細的解釋;
我想寫一個通用Windows應用程序(新的Windows 10風格)。這意味着我有一個項目來添加對外部組件的引用。
我需要一些圖像處理的東西,最好作爲第三方組件購買,而不是在內部開發。有幾個SDK可以從支持WinRT的第三方獲得,但沒有一個支持UWA。 WinRT SDK的Windows Phone和Windows桌面應用程序都有不同的二進制文件。並且二進制文件都是從C/C++源代碼創建的。這對舊的'通用'應用程序來說很好,因爲手機和桌面上有一個單獨的項目,所以您可以在每個項目中引用不同的組件,但現在只有一個項目可以添加引用。
我問一個供應商有關UWA支持,他們聲稱這是不可能的,他們不能創建一個單一的二進制文件來瞄準兩個平臺(arm vs x86),他們不知道一種方式讓我的UWA引用右邊文件,當應用程序爲適當的體系結構(這是我認爲應該發生)。
我假設有好歹(或許在winmd文件?)說,「嘿,這是針對不同的CPU架構相同的dll的兩個副本,挑你建立了一個」等只要公共API匹配應用程序只使用正確的?
有沒有解決方案呢?有誰知道這種參考應該如何工作?或者我只是運氣不好?
謝謝。
組件提供者似乎可以創建一個正確的WinRT組件; http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2014/05/30/windows-phone-8-1-more-universal-winrt-components.aspx - 在我的情況下,他們沒有。 – Yort
我自己也可以將第三方sdk文件打包爲WinRT擴展(這與編輯csproj文件類似,但在項目中更易於重用); https://開頭MSDN。microsoft.com/en-us/library/jj127117.aspx – Yort