2

我正在尝试从 VS2005 升级项目。它是一个 VB.NET 项目 B,它依赖于引用 C++ dll A.dll 的 C# 项目。我收到一条错误消息,提示“无法找到程序集 A_class,版本 2.0.0.0,Culture=neutral,PublicKeyToken=null”。C++ 项目的目标平台是 4.0,由于该项目依赖于其他项目,因此我无法对其进行降级。但我确实将 VB.NET 项目的平台设置为 4.0。版本 2.0.0.0 还指的是什么?我尝试创建一个全新的项目,并在成功构建后将 vb 表单添加到其中。C++ dll 位于输出目录中,如果 VB 项目在那里找不到它,它就不会到达这一点。在构建期间。我要么没有错误(但没有加载表单),要么收到 2 个错误(每个表单一个):

error MSB3103: Invalid Resx file. Could not load file or assembly 'A-class, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format. Line 136, position 5.

请帮助我,给我一个建议,我不知道在哪里看。非常感谢您。

4

1 回答 1

4

“试图加载格式不正确的程序”

99% 的时间这意味着您正在尝试使用 64 位工具加载 32 位程序集,反之亦然。错误消息中的版本号仅表示它尝试加载的程序集的版本号;它与目标.NET 版本无关。在这种情况下,资源编译器似乎有问题。

尝试将您的解决方案配置为显式构建 x86 而不是 Any CPU,看看是否能解决您的问题。

于 2012-03-15T01:18:40.903 回答