4

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

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

这意味着新的客户端应用程序不能只引用单个 DLL,而是各个配置必须引用不同的输入程序集。目前我通过使用条件手动编辑 .csproj 文件来做到这一点。

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

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

4

1 回答 1

0

如果您的应用程序不依赖完美的性能,您可能会切换到纯托管(Any CPU)的 C# SQLite,以便您的类库和可执行文件可以设置为 Any CPU。

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

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

于 2013-01-09T05:08:00.233 回答