每隔几天,VS2008决定对我生气,并且无法生成一个设计器文件,声称它无法找到指定的文件并且它缺少一个程序集。这是场景:
aspx页面引用了一个自定义用户控件(继承UserControl),该控件引用了后端中的另一个程序集。在代码的其他地方还有许多其他引用这个“缺失”的程序集,它们不会抛出错误。重建,将源更新到干净的副本,在计算机上大喊,打屏幕等都无法正常工作。
有什么建议吗?这很烦人。
答案 0 :(得分:9)
我们以前遇到过类似的问题,遗憾的是我不记得确切的解决方案。
如果你使用“网站”项目(没有项目文件),那么首先检查你的页面和你的控件都在你的aspx / ascx文件的第一行设置了ClassName属性,并指定了全名包括命名空间的类。
示例:
< @Control Language =“VB”AutoEventWireup =“false” 类名= “YourProjectName.YourUserControl” 继承= “YourProjectName.YourUserControl” 的CodeFile = “YourUserControl.ascx.vb” %GT;
很多时候没有设置所有这些仍然有效,但你会在VS中得到奇怪的编译器错误和行为。
如果您使用网站应用程序项目,请尝试手动删除设计器文件,然后右键单击您的项目并选择“从Web应用程序转换”。这将为您重新创建设计器文件。
我唯一的另一个建议是从头开始重新创建页面和/或用户控件。
答案 1 :(得分:2)
答案 2 :(得分:0)
您可以尝试使用其设计器等效文件归档新文件的模板。如果VS咳嗽,那么您可以使用您已有的文件执行“添加现有”选项。
然而,似乎安装VS2008时出现问题,因此您可能会尝试重新安装它。
答案 3 :(得分:0)
我发现使用自定义控件时,您需要添加对.dll的引用。这在从网站迁移到网络应用程序后为我修复了它。