Microsoft Visual Studio生成下面的模块时,启用了优化或没有调试信息

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\myweb\b35f26ee\edd99105\assembly\dl3\d54426b6\5639d8d4_2bf0c701\Business.DLL

若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项。


解决办法1:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\把这个路径下所有的文件删除(失败,重新生产解决方案还是一样的错误!)

解决办法2:将解决方案下的所有项目|网站移除,然后再添加进来(csdn)(失败)


解决办法3:将类库(项目>>>属性>>>生成>>>常规>>>确保没有选中“优化代码”)(还是失败)


我的解决办法:看到这错误我也晕~,但是还得看,看看下面两行。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\myweb\b35f26ee\edd99105\assembly\dl3\d54426b6\5639d8d4_2bf0c701\Business.DLL

从这些路径可以看出我的站点是myweb他引用了Business.DLL类库,我想出错原因是找不到该类库或者路径不对,大家都知道一个项目(一个解决方案)下只能有一个启动项目,也一般是以网站为启动项,类库只是数据访问层或者业务逻辑层,应该出错的不会是后者,所有我想是是网站调用类库的时候出错了。

所有我们重新来引用那些dll,当你引进了dll的时候是不是出现了连同dll一共有三个文件?!

.dll
.dll.refresh:记录引用的dll的全路径
.pdb:编译器选项指定调试符号文件的名称和位置。
msdn介绍pdb:
A program database file (extension .pdb) is a binary file that contains type and symbolic debugging information gathered over the course of compiling and linking the project. A PDB file is created when you compile a C/C++ program with /ZI or /Zi or a Visual Basic, Visual C#, or JScript program with the /debug option. Object files contain references into the .pdb file for debugging information. For more information on pdb files, see PDB Files (C++). A DIA application can use the following general steps to obtain details about the various symbols, objects, and data elements within an executable image.

大概是:程序数据库文件(扩展的.pdb)是一个二进制文件包含类型和指定调试符号信息当编译项目时自动生成。当你在编译c/c++,(/ZI是什么?)visual basic,visual c#,JScript程序时会产生一个pdb文件,项目文件(网站)添加引用的时候就会自动加入.pdb文件.....

了解了pdb,我觉得就可以把.dll.refresh删掉了,因为.pdb文件好像也知道了dll的路径,删掉refresh文件,

一切正常,问题也解决了!

posted on 2011-05-25 14:56  itzsl  阅读(2105)  评论(0编辑  收藏  举报