设计器文件生成失败
时间:2020-03-05 18:44:31 来源:igfitidea点击:
VS2008每隔几天就会生气,并未能生成设计器文件,声称无法找到指定的文件并且缺少程序集。这是场景:
aspx页面具有对自定义用户控件(继承自UserControl)的引用,该控件引用了后端中的另一个程序集。在代码中的其他地方,还有许多其他引用此"丢失"的程序集,它们不会引发错误。重建,将源更新为干净副本,在计算机上大喊大叫,在屏幕上打孔等等均无法正常工作。
有什么建议?这很烦人。
解决方案
回答
我们可以尝试使用等效的设计器来归档新文件的模板。如果VS咳嗽,则可以对已有文件进行"添加现有"选项。
但是,这似乎与VS2008的安装有关,因此我们可以尝试重新安装它。
回答
以前我们也遇到过类似的问题,很遗憾,我不记得确切的解决方案。
如果我们使用的是"网站"项目(无项目文件),则首先检查页面和控件是否都在aspx / ascx文件的第一行中设置了ClassName属性,并指定了类的全名包括名称空间。
例子:
<@Control Language="VB" AutoEventWireup="false" ClassName="YourProjectName.YourUserControl" Inherits="YourProjectName.YourUserControl" CodeFile="YourUserControl.ascx.vb" %>
很多时候不设置所有这些设置仍然可以使用,但是我们会在VS中遇到奇怪的编译器错误和行为。
如果我们使用的是Web站点应用程序项目,请尝试手动删除设计器文件,然后右键单击项目,然后选择"从Web应用程序转换"。这将为我们重新创建设计器文件。
我唯一的其他建议是从头开始重新创建页面和/或者用户控件。
回答
杰瑞德(Jared),你已经击中它。使用"转换为Web应用程序"手动生成设计器文件可以解决我的问题。很高兴我们在开始重新安装之前发布了此信息。谢谢。
回答
我发现使用自定义控件时,我们需要添加对.dll的引用。从网站迁移到Web应用后,这为我修复了此问题。