【发布时间】:2011-06-16 21:59:20
【问题描述】:
我有一个项目在我的系统上运行良好。我可以毫无问题地调试项目。我的开发系统是 Win 7 (x64)。当我将此项目部署和/或发布到我的测试环境(Windows Server 2003 (x32))时,我无法再对其进行调试。我不断收到一条错误消息,指出“以下模块是在启用优化或没有调试信息的情况下构建的。”它指的是我的项目中的一个 DLL,它来自解决方案中的另一个项目。
这个应用程序最初是在 VS 2005 中创建的。我将它升级到 VS 2010 没有任何问题。我也觉得原来的项目需要重构,所以我把所有的业务和数据层逻辑都拉了出来,放到了解决方案中一个单独的类库项目中。 Web 项目也需要拆分,因为相同的代码在两个不同的服务器上运行,两个服务器上都有不同的页面。但是,两个 Web 项目之间存在共享表示逻辑,因此我创建了另一个专门用于表示层的类库项目。毕竟,我现在有 4 个项目(2 个类库项目和 2 个 Web 项目)。
所有网页都正常工作,但似乎我在其中一个 Web 项目中的 Web 服务(经典 Web 服务,而不是 WCF)存在一些问题。我得到了错误的结果,我试图通过它来找到问题。请帮忙!我对这个项目有一个未决的截止日期。
【问题讨论】:
-
了解您使用的语言可能会有所帮助。另外,这有点明显,但是:您已经检查了所讨论的 DLL 是使用调试信息构建的,并且您的部署/发布过程使用了该 DLL 的调试版本?
-
复制 Debug 版本,而不是 Release 版本。
-
我正在使用 VB。是的,一切都处于调试模式。事实上,我创建了一个新的解决方案。然后我为所有四个创建了新项目(仍处于调试模式)。我设置了项目,并复制了代码。部署后我收到了同样的错误消息。
-
我担心的是我引用了安装在我的 GAC 中的 Oracle.DataAccess dll。当我构建我的部署项目时,该 dll 将包含在 bin 文件夹中。该 dll 仅在调试符号消息中提到的类库中引用。我查看了项目,它是为 x86 处理器设置的,而所有其他引用的 dll(即系统、system.data 等)的处理器类型都是 MSIL。
标签: visual-studio-2010 debugging