Windows窗体设计器:无法加载文件或者程序集

时间:2020-03-06 15:04:28  来源:igfitidea点击:

有没有人遇到过试图在Visual Studio .NET的Windows窗体上"查看设计器"时导致错误:"无法加载文件或者程序集"的问题?

在这种情况下,有问题的程序集为XYZ.dll。我设法通过将XYZ.dll及其所有引用添加到项目引用中来解决此问题(即使我的项目不直接依赖于它们),并重新构建了整个解决方案。但是,此后,我从项目中删除了所有这些引用,进行了重新构建,但仍然可以使用。

另一则信息是,我使用了Resharper 2.5. 有人指出,可能是Resharper在进行卷影复制。下次发生这种情况时,我会进行调查。
有谁了解为什么首先会发生此错误,并且可能了解解决此错误的"正确"方式?

解决方案

在VS2005上,这很常见,特别是在向Winform添加自定义控件时。通常,我只需要重建即可,而无需添加额外的引用,也不必关闭并重新打开VS。

没有明显的原因,仅是VS错误。

我们有同样的问题。某些Form / UserControl类无法在设计器中查看,Visual Studio会导致各种异常。

有一个典型的原因:
在初始化过程中(在构造函数中,在Load事件中或者之前)引发设计组件抛出未处理的异常之一。

不仅对于这种情况,我们还可以运行Visual Studio的另一个实例,打开/创建一些独立项目,然后转到菜单->调试->添加到进程...->使用有问题的设计器选择devenv.exe进程实例。然后按Ctrl + Alt + E,将显示"例外"窗口。在异常类别中检查"引发"。

现在与设计师一起激活视觉工作室,然后尝试视图设计师。如果将引发异常,我们将看到callstack(如果从代码中引发了异常,则可能会看到源代码)以及有关引发的异常的其他典型信息。此信息可能会很有帮助。

使用VS 2005,我遇到了同样的问题。我执行了Chien在他最初的问题中列出的步骤,但是直到我关闭VS并重新打开解决方案后,该步骤才起作用。现在,Designer视图看起来不错。

我同意Resharper的评论。我正在运行4.1. 我禁用了它,重新启动VS2008,然后再次尝试了"转换为Web应用程序",它开始工作了。

我已经在VS2005中针对Window Forms,ASP.NET和Compact Framework项目发生了这种情况。我正在构建的项目依赖于解决方案中的另一个程序集,但抱怨在尝试生成设计器文件时无法加载它。

我不确定确切的原因,但是有时在我们提高程序集的版本号后会发生这种情况。由于某些原因,Visual Studio不会将此程序集视为"新"程序,也不会将新版本删除到当前项目的bin /文件夹中。虽然大多数时候都可以。

删除带有设计器错误的项目的bin /文件夹(以及obj /文件夹),然后重新构建,似乎可以消除麻烦。