更改构建操作以释放而不是调试后,控制将丢失

时间:2012-09-27 11:25:38

标签: .net visual-studio-2010 build release

我的问题是:当我将项目构建操作设置为释放而不是调试时,外部库中的控件将丢失。使用它的每一行都有这个错误:

  

'myControlName'未定义。

控件是SDK库的一部分(我的意思是我没有创建它)
当我将动作设置为再次调试并重建时,问题就消失了 那有什么问题?

编辑:我在使用WeifenLuo DockPanel Suite

之前遇到过这个问题

现在它是另一个库,但错误是相同的

编辑:引用是一个dll文件
设置构建操作后发布的截图。 enter image description here

2 个答案:

答案 0 :(得分:2)

有一些特定于配置的项目设置,它们为Debug vs Release存储不同的值。在屏幕截图中可以看到的第一件事就是Project + Properties,Compile选项卡,向下滚动,Advanced Compile Options,Target CPU。将其从AnyCPU更改为x86。您正在使用的ActiveX控件在64位模式下很少可用,您必须强制应用程序以32位模式运行,以便它可以使用该控件。

然而,这是特定错误的长短。另一个重要且更容易解释这样一个问题的是框架目标设置。尝试选择完整的而不是客户端配置文件。顺便说一下,这不是一个很好的解释。通过比较Debug和Release配置的Compile选项卡设置来追踪可能的其他修复。完整的异常值解释是您通过编辑.vbproj文件而不是使用IDE来添加ActiveX引用。请务必注意“错误列表”窗口中的任何警告,这样的警告可能会导致难以诊断其他错误。

答案 1 :(得分:0)

你是如何引用控件的?它在您的解决方案中的目录中吗?

尝试右键单击项目中的源dll,然后选择“属性”。 “复制到输出目录”应为“始终复制”。