gpt4 book ai didi

c# - Designer.Cs 文件未注册命名空间更新

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:58 25 4
gpt4 key购买 nike

我在使用 Visual Studios Premium 2012 时遇到问题。

最近,我更改了一个按钮控件的命名空间,它继承自Linkbutton。代码如下所示:

//namespace MyOldNameSpace
namespace MyNewNameSpace
{
public class myButton : LinkButton
{
//some stuff here
}
}

我更新了对此代码的所有引用以匹配此更改。 但是……

designer.cs 文件拒绝使用新更新的命名空间生成按钮。例如,我的 designer.cs 文件中的函数如下所示:

protected global::MyOldNameSpace.myButton myButton1

为了使一切都能编译和工作,我必须进入代码并更新 designer.cs 文件中的命名空间。我没有功能问题。此外,我更改了我的 web.config 以匹配新的更改。

我尝试了以下方法:

  • 关闭和重新开放 Visual Studio
  • 进入 ~/../appdata/并删除一些文件 [在博客上找到这个解决方案]

但是这些都没有用。

提前致谢

编辑我所做的一些更改:

在 web.config 中

<add tagPrefix="abc" namespace="MyNewNameSpace" assembly="MyNewNameSpace"

在 .aspx 页面中

<abc:myButton runat="server" onclick=...etc...>

最佳答案

你的行为是:

  1. 您更改类定义中的命名空间
  2. 您使用新的命名空间更新 web.config

你期望的是:

  1. Visual Studio 将使用新的命名空间更新 aspx.designer.cs 文件

它是如何工作的:

designer.cs 的更新由 .aspx 文件中的更改触发。

解决问题有 2 3种可能的情况:

  1. 您必须从 .aspx 页面剪切控制标记 => 保存 .aspx 页面 => 将控制标记粘贴回 .aspx 页面 => 保存 .aspx 页面

  2. 或者您通过替换命名空间手动修改行:

    protected global::MyOldNameSpace.myButton mButton;//old line
    protected global::MyNewNameSpace.myButton mButton;//new line

    [编辑]

  3. 或者您将 .aspx 从 Source 切换到 Design => Save => Rebuild => Switch to Source

我会说选项三是首选的解决方法。

关于c# - Designer.Cs 文件未注册命名空间更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13730679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com