遇到以下情况:
问题是,每次我进行构建时,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。
我从未遇到过类似的问题,我不知道如何诊断它。有什么建议吗?
编辑:我忘记了。项目的参考中未引用此
修改(@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确实标记为本地副本,问题现在在哪里?
答案 0 :(得分: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
答案 1 :(得分:0)
尝试清理解决方案文件。
很久以前我经历过这样的经历。但就我而言,我的一个项目无法找到我的另一个项目的.dll。我搜索了答案,我才开始使用这种方法。
试着看看这里。 Rebuild Visual Studio Library Project Reference