0

我有大约 3 层 Visual Studio 解决方案。每个人都使用从前一个编译的 DLL 来构建一个在网站内使用的实用程序。

我的任务是将所有内容都转换为 64 位。我已将所有 3 个解决方案中的每个项目中的每个项目都设置为 x64 处理器(除了网站中的 .deploy 项目;只有“任何 CPU”选项)。

每个解决方案都能完美构建,没有提到处理器不匹配。

但是,如果我勾选 .deploy 项目旁边的构建框,它会失败并显示“无法加载文件或程序集......尝试加载格式不正确的程序”错误。

我是否认为问题在于部署项目而不是代码?其他一切都在构建,它只是开始抱怨的部署项目。我不能选择“任何 CPU”以外的任何东西的事实有点令人沮丧。

4

1 回答 1

0

我不能选择“任何 CPU”以外的任何东西的事实有点令人沮丧。

这可能是为了让你做正确的事。您应该选择 AnyCPU 作为项目的平台目标设置,而不是 x64。AnyCPU 说它做了什么,它将在 64 位操作系统上作为 64 位代码运行。并且仍然可以在 32 位模式下工作,例如在 32 位进程的 Visual Studio 中使用。请注意,对于托管项目,重要的是项目 + 属性、构建选项卡、平台目标设置,而不是解决方案平台的名称。将其设置为 AnyCPU。在 VS2012 中,取消勾选“首选 32 位”选项。

仅对非托管代码(例如由 C++ 编译器生成的代码)需要显式定位 x64。从这个问题中不清楚这是否适用。

于 2013-07-16T11:33:18.777 回答