2013-01-08 24 views
4

在mvvmcross中,我有一個引用SQLite for WinRT的插件類庫。因此,我不能將該類庫構建爲AnyCPU--相反,我必須將其引用爲x86,x64或任何CPU。如何在WinRT中引用x86/x64/ARM類庫(不是AnyCPU類庫)在WinRT中

這意味着新客戶端應用程序不能只引用單個DLL,而是各個配置必須引用不同的輸入程序集。目前我通過使用條件手動編輯.csproj文件來完成此操作。

然而,這是一個有點容易出錯(和有點難以解釋!)

是否有客戶端應用程序引用在x86/x64/ARM類庫任何「容易」的方式(1次點擊的方式)讓MSBuild在運行時選擇正確的版本?

+0

我問了[類似問題](http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/a9ac0bdb-a439-4a36-870d-b32d0403e354/#a9ac0bdb-a439-4a36-870d -b32d0403e354)在MSDN論壇上,並沒有得到很好的答案。您可以隨時在該網站上投票並發表評論,希望微軟的某個人再次看到它。 –

回答

0

如果您的應用程序不依賴於完美的性能,可以切換到純粹管理的C#SQLite(任何CPU),以便您的類庫和可執行文件可以設置爲任何CPU。

或者,您可以使用依賴注入或MEF在運行時注入正確位的程序集/類型,並且這樣在編譯時您總是針對一個接口(這是獨立位)工作。

據我所知,MSBuild不能自動處理你想要的位數。