从C ++ / CLI程序集创建AnyCPU仅元数据程序集

时间:2018-11-20 00:47:53

标签: .net nuget c++-cli

是否可以采用现有的.NET程序集,将其编译为x86或x64,并使用相同的API创建另一个程序集,但编译为AnyCPU?新程序集将永远不会实际执行;它将仅用作编译时参考。

背景

我有一个用C ++ / CLI编写的.NET程序集。我将其放入nuget包中,使用nuget的runtimesref文件夹处理32位和64位问题。通常,ref文件夹中的程序集被编译为AnyCPU,但这不是C ++程序集的选项。现在,我已经在ref文件夹中获得了32位版本的副本,但是当包含在x64项目中时会引起警告:

  

正在构建的项目“ AMD64”的处理器体系结构与引用“ c:... \ myassembly.dll”“ x86”的处理器体系结构之间不匹配。

我意识到这不会在运行时引起任何问题,但是我想尽可能避免发出警告。如果是用C#或VB编写的,则可以使用CorFlags将其转换为AnyCPU程序集,但是该技巧不适用于C ++程序集。当我在32位C ++程序集上设置ILONLY标志时,Visual Studio不再能够完全加载该程序集。

所以有人可以建议如何创建该程序集的版本,该版本适合用作nuget包中的编译时参考吗?

0 个答案:

没有答案