1

有以下情况:

  • 视窗 7 64 位
  • 视觉工作室 2010
  • 在 asp.net 2.0 中包含项目的解决方案
  • 在文件夹中:C:\Program Files (x86)\Reference Assemblies\CompanyName\ 我有文件:
    • Aaa.dll
    • aaa.pdb
    • Aaa.xml (xmldoc) 我的解决方案中的任何项目都没有引用该dll(实际上我的解决方案中只有一个项目

问题是每次我进行构建时,dll、pdb 和 xml 都会被复制到 bin 文件夹中,我得到:

Could not load file or assembly 'Aaa.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.

如果我在运行程序之前不删除 dll。

我从来没有遇到过类似的问题,我不知道如何诊断它。有什么建议么?

编辑:我忘了提。该 dll未在项目的参考资料引用。(我在 Visual Studio 项目资源管理器中看不到它:MySolution -> MyProject -> References

编辑(@chappo 感谢新的见解)运行 MsBuild 我看到:

_CopyFilesMarkedCopyLocal:
  Copying file from "C:\MyCompany\MyProjects\Project1\App_Code\AjaxControlToolkit.dll" to "bin\AjaxControlToolkit.dll".
  Copying file from "C:\Program Files (x86)\Reference Assemblies\MyCompany\Aaa.dll" to "bin\Aaa.dll".
  Copying file from "C:\Program Files (x86)\Reference Assemblies\MyCompany\Aaa.pdb" to "bin\Aaa.pdb".
  Copying file from "C:\Program Files (x86)\Reference Assemblies\MyCompany\Aaa.xml" to "bin\Aaa.xml".

该dll确实被标记为复制本地现在的问题是在哪里?

4

2 回答 2

1

我曾经有过类似的问题。由于您有 64 位系统,请检查“Aaa.dll”是否为 32 位 dll。如果是,那么您必须将 IIS 中的应用程序池设置更改为启用 32 位应用程序。

您可以在此处找到详细说明:https ://help.webcontrolcenter.com/KB/a1114/how-to-enable-32-bit-application-pool-iis-7-dedicatedvps.aspx

于 2013-10-26T19:44:17.907 回答
0

尝试清理您的解决方案文件。

  • 转到 构建选项卡
  • 单击清洁解决方案
  • 然后单击构建解决方案

我很久以前就有过这样的经历。但就我而言,我的一个项目无法找到另一个项目的 .dll。我搜索了答案,我只是想出了使用这种方法。

也试试看这里。重建 Visual Studio 库项目参考

于 2013-10-17T09:40:57.547 回答