一个项目引用的类库dll报试图引用格式不正确的程序,项目是64位的,但是却是32位的。但是网上这个类库只有32位,所以只好用dnSpy把类库的代码导出为项目,用VS打开,打算生成为Any CPU。
但是由于是中间代码,编译出现了不少错误,比如
namespace <CppImplementationDetails>
{
// Token: 0x02000056 RID: 86
[DebugInfoInPDB]
[MiscellaneousBits(65)]
[UnsafeValueType]
[NativeCppClass]
internal struct $ArrayType$$$BY05$$CBD
{
}
}
这个命名空间的名字带了尖括号,结构的名字以$打头
还有一些类型也加了尖括号,如
<Module>.DeleteMagickRegistry(id);
请问这两种情况如何解决,特别是像$ArrayType$$$BY05$$CBD这种,实在不理解怎么回事
不是中间代码,是反编译出来的C#代码,这些奇怪的命名可以改掉
谢谢,已经解决了
github上有个相关issue:x64 app with references to x86 dlls
– dudu 9个月前