C# Designer.Cs文件未向命名空间注册更新

C# Designer.Cs文件未向命名空间注册更新,c#,web-config,visual-studio-2012,C#,Web Config,Visual Studio 2012,我对visual Studio premium 2012有问题 最近,我更改了按钮控件的名称空间,该控件继承自Linkbutton。代码如下所示: //namespace MyOldNameSpace namespace MyNewNameSpace { public class myButton : LinkButton { //some stuff here } } 我更新了对此代码的所有引用以匹配此更改但是… designer.cs文件拒绝使用新更

我对visual Studio premium 2012有问题

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

//namespace MyOldNameSpace
namespace MyNewNameSpace
{
    public class myButton : LinkButton
    {
        //some stuff here
    }
}
我更新了对此代码的所有引用以匹配此更改但是…

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

protected global::MyOldNameSpace.myButton myButton1
为了使所有内容都能编译和工作,我必须深入代码并更新designer.cs文件中的名称空间。我没有任何功能问题。此外,我还更改了web.config以匹配新的更改

我尝试了以下方法:

  • 关闭和重新打开visual Studio
  • 进入~/../appdata/并删除一些文件[在博客上找到此解决方案]
但所有这些都不起作用

提前谢谢

编辑我所做的一些更改:

在web.config中

<add tagPrefix="abc" namespace="MyNewNameSpace" assembly="MyNewNameSpace"
您的操作是:

  • 您可以在类定义中更改名称空间
  • 使用新名称空间更新web.config
  • 你所期望的是:

  • Visual Studio将使用新名称空间更新aspx.designer.cs文件
  • 它的实际工作原理:

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

    有2个3个可能的方案可解决此问题:

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

  • 或者通过替换名称空间手动修改行

    protected global::MyOldNameSpace.myButton mButton;//old line
    protected global::MyNewNameSpace.myButton mButton;//new line
    
    [编辑]

  • 或者您将.aspx从源代码切换到设计=>Save=>Rebuild=>切换到源代码


  • 我认为第三个选项是首选的解决方法。

    与2013年相比,我在常规类组装方面遇到了类似的问题。我右键单击项目节点,然后选择“属性”。我选择了“应用程序”部分,然后将“默认名称空间”更改为我的新值。重新编译。问题解决了。
    依我看,我们不应该那样做。我们应该能够对源代码进行更改,并希望在不更改配置数据的情况下执行这些更改。

    列出您更改的所有部分(web.config、.aspx),以避免在此处浪费时间。@HenkHolterman编辑的原始帖子这是桌面应用程序吗?为什么会有一个web配置?如果是web应用程序,您是否尝试过删除设计器文件的内容、更改ASP代码并再次保存它们?你试过找替代品吗?谢谢。第二种情况是我最终做了什么。我发现我的错误与Mercurialoyou中的某些东西有关,欢迎你。也许你也想试试第三种解决方法。
    protected global::MyOldNameSpace.myButton mButton;//old line
    protected global::MyNewNameSpace.myButton mButton;//new line