【发布时间】:2013-10-25 16:45:30
【问题描述】:
有以下情况:
- Windows 7 64 位
- Visual Studio 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 项目资源管理器中看不到它: 我的解决方案 -> 我的项目 -> 参考
编辑(@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确实被标记为复制本地现在的问题是在哪里?
【问题讨论】:
-
尝试在引用中将复制到本地属性设置为 false。
-
对不起,我忘了提到这个dll在项目中没有被引用。感谢您提及,但事实并非如此。
-
"dll 在我的项目中没有被引用" - 必须从某处 引用它,否则它不会神奇地出现。
-
那不是一个包含已编译形式网页的dll吗?下载jetbrains.com/decompiler打开.dll反编译看看代码。
-
看起来它是由 devenv 复制的传递运行时引用。当您尝试使用 MSBuild 从命令行构建解决方案时,是否会发生同样的情况?
标签: c# .net visual-studio dll