C# Designer.Cs文件未向命名空间注册更新
我对visual Studio premium 2012有问题 最近,我更改了按钮控件的名称空间,该控件继承自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文件拒绝使用新更
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/并删除一些文件[在博客上找到此解决方案]
<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