Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Designer.cs在将新控件添加到.aspx时不更新_C#_Asp.net_Designer - Fatal编程技术网

C# Designer.cs在将新控件添加到.aspx时不更新

C# Designer.cs在将新控件添加到.aspx时不更新,c#,asp.net,designer,C#,Asp.net,Designer,我已经在我的aspx文件中添加了一个新控件,并注意到新控件不仅没有添加到设计器文件中,而且还缺少团队其他成员添加的许多其他控件。我尝试删除designer.cs文件并使用“转换为Web应用程序”,但没有成功。我尝试过的其他一些方法是将aspx从项目、构建中排除,然后重新包括,但没有成功。我还将设计器中缺少的控件手动输入到设计器中。当我在do-so之后运行时,会出现一个错误,说明控件没有定义,即使它实际上是定义的,并且我应该检查是否缺少一个指令 我添加的第一个控件是从一个类似的控件复制和粘贴,并进

我已经在我的aspx文件中添加了一个新控件,并注意到新控件不仅没有添加到设计器文件中,而且还缺少团队其他成员添加的许多其他控件。我尝试删除designer.cs文件并使用“转换为Web应用程序”,但没有成功。我尝试过的其他一些方法是将aspx从项目、构建中排除,然后重新包括,但没有成功。我还将设计器中缺少的控件手动输入到设计器中。当我在do-so之后运行时,会出现一个错误,说明控件没有定义,即使它实际上是定义的,并且我应该检查是否缺少一个指令

我添加的第一个控件是从一个类似的控件复制和粘贴,并进行了必要的更改。但是,我也尝试过手动创建具有相同结果的控件


有什么想法吗?

关闭Visual Studio,然后从
C:\Windows\Microsoft.NET\Framework\Your\uu.NET\u Version\ProjectName
删除文件夹
ProjectName
,然后重新启动Visual Studio。不久前,我遇到了一个类似的问题,这些行动解决了这个问题


如果使用IIS,您可能需要停止服务器/站点才能删除临时文件。

一个简单/愚蠢的错误也会导致类似症状,即复制aspx和aspx.cs文件并重命名它们,但忽略更新文件内的引用


我在试图查找临时asp.net目录时遇到了这个问题,但清除它没有帮助。然后我意识到,在复制文件以创建页面的新修改版本后,我没有更新
CodeFile=“Page.ascx.cs”
。然后我试图添加一个控件并在
PageModified.ascx.cs
中引用它,但一直说它不存在。

我在工作中遇到了这个问题

最可靠的是重新生成.designer.cs文件,解决方案如下:

  • 通过解决方案资源管理器找到损坏的aspx.designer.cs文件
  • 仅从项目中删除designer.cs文件
  • 右键单击主aspx文件并选择“转换为Web应用程序”

当一个usercontrol引用同一命名空间中的另一个usercontrol时,似乎也会发生这种情况。
如果将引用的用户控件移动到不同的命名空间,问题就会消失。

有时html中可能会出现错误,例如两个控件具有相同的Id。还要小心使用div和span标记。这会阻止设计器更新。对于所有这些,请检查错误列表中的警告并修复它们。您可以开始了。这是解决了我的问题。

我在VS2012中做到了这一点:

  • 打开页面.aspx.designer.cs查找 相同类型的控件(即链接按钮)
  • 将其复制到文件末尾(在类结束前的花括号中)
  • 重命名控件变量以匹配控件的名称

  • 就是这样。

    我只能在代码隐藏文件中手动添加控件声明来解决问题。每次我尝试重新生成design.cs文件时,VS 2013都会写入相同的行,而不会丢失控件

    声明需要添加到代码隐藏中,而不是design.cs中,因为每次更改.aspx时它都会被删除

    只需像对待任何其他变量一样添加声明,如下所示:


    要在VS 2013中替换设计器文件,请执行以下操作:

  • 删除旧的*.designer.cs文件
  • 选择*.aspx文件
  • 从项目顶部下拉栏中选择“转换为Web应用程序”

  • 试试这个

    1.-将
    codebhind=“Name.aspx.cs”
    更改为
    CodeFile=“Name.aspx.cs”

    2.建造


    3.-将
    CodeFile=“Name.aspx.cs”
    更改为
    codebhind=“Name.aspx.cs”

    只是为了添加到可能的解决方案列表中:我的标记文件中的这些行虽然看似有效,但显然导致与设计器文件断开连接:

    <%: Styles.Render("/my-file.css") %>
    <%: Scripts.Render("/my-file.js") %>
    
    
    
    我只是简单地将它们注释掉,保存,然后设计的文件开始正常工作。然后我取消了这两行的注释,保存了,并且能够在页面中添加新控件而没有问题。我发现这很奇怪,我仍然不清楚问题的最初原因是什么。我只能推测这是Visual Studio的错误


    重点是,可能存在导致问题的完全有效的代码,在这种情况下,可能的解决方案是在标记文件中对HTML部分进行注释,直到设计器文件自行解决,然后您可以撤消所有注释并恢复正常工作。

    对于我来说,解决方案是:

    将页面置于“设计”视图中,然后右键单击/刷新。它将同步 使用designer.cs打开控件。确保designer.cs已关闭 在这样做之前


    在我的例子中,我必须添加
    runat=“server”
    属性,然后重新生成解决方案。缺少的元素会自动添加到生成的
    aspx.designer.cs
    中,并在代码中使用

    <button runat="server" id="Button01" type="button" class="Button" onclick="location.href='http://http://www.example.com/';">
       <asp:Label runat="server" Text='<%# GetText("Button01")%>'></asp:Label>
    </button>
    
    
    
    由于Telerik web控件中的错误,我的designer.vb代码文件没有更新-我在MasterTableView的DataKeyNames属性中有一个不正确的值。aspx编辑器在设计时没有检测到这个值,因为它只是一个字符串值,但它导致designer.vb文件的自动生成失败。

    我尝试了所有的方法上述内容将于2019年发布

    我删除了设计器文件,单击了项目菜单/Convert to Web Application,它重新生成了设计器文件,但是,它仍然无法自动重新生成

    工作原理-将文件从项目中排除,然后重新包含


    文件现在保持自动重新生成。

    用于从中使用Visual Studio 2019创建代码隐藏C#文件
    <button runat="server" id="Button01" type="button" class="Button" onclick="location.href='http://http://www.example.com/';">
       <asp:Label runat="server" Text='<%# GetText("Button01")%>'></asp:Label>
    </button>