【问题标题】:How to reference an x86/x64/ARM class library (not an AnyCPU class library) in WinRT如何在 WinRT 中引用 x86/x64/ARM 类库(不是 AnyCPU 类库)
【发布时间】:2013-01-08 16:30:14
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 我在 MSDN 论坛上问过similar question 并没有得到好的答案。你可以随时在那里投票和评论,希望微软的人再次关注它。

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


【解决方案1】:

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

或者,您可以使用依赖注入或 MEF 在运行时注入正确位数的程序集/类型,这样在编译时您总是针对接口工作(与位数无关)。

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

【讨论】:

    猜你喜欢
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    相关资源
    最近更新 更多