如何在WinRT中引用x86 / x64 / ARM类库(不是AnyCPU类库)

时间:2013-01-08 16:30:15

标签: sqlite msbuild visual-studio-2012 windows-runtime

在mvvmcross中,我有一个插件类库,它引用了SQLite for WinRT。

因此,我无法将该类库构建为AnyCPU - 相反,我必须将其引用为x86,x64或任何CPU。

这意味着新的客户端应用程序不能仅引用单个DLL,而是单个配置必须引用不同的输入程序集。目前,我是通过使用条件手动编辑.csproj文件来完成此操作。

然而,这有点容易出错(并且有点难以解释!)

客户端应用程序是否有任何“简单”方式(单击方式)引用x86 / x64 / ARM类库三重奏,以便MSBuild在运行时选择正确的版本?

1 个答案:

答案 0 :(得分:0)

如果您的应用程序不依赖于完美的性能,您可能会切换到C#SQLite,它是纯粹管理的(任何CPU),因此您的类库和可执行文件可以设置为任何CPU。

或者,您可以使用依赖注入或MEF在运行时注入正确位数的程序集/类型,并且在编译时以这种方式始终对接口(与位数无关)起作用。

据我所知,MSBuild无法以您想要的方式自动处理位数。