gpt4 book ai didi

c# - 疯狂 VS 设计器错误

转载 作者:行者123 更新时间:2023-11-30 17:22:58 27 4
gpt4 key购买 nike

这是一个奇怪的。

重命名类后,我的一个表单开始在设计器中出现错误,拒绝打开。有趣的是,当我运行该程序时,该表单运行良好。

我开始恢复我的更改以推断问题所在。我现在已经完全恢复到上次提交 - 我知道表单在设计器中工作 - 清理了解决方案,并删除了 bin/和 obj/文件夹,以及 *. suo 文件以备不时之需。

表单仍然没有在设计器中显示。


这是它给出的错误:

  1. Could not find 'MyNamespace.MyControl'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built.
  2. The variable 'myControl1' is either undeclared or was never assigned.

变量已声明和赋值,MyControl 构建良好(同样,程序实际运行时该窗体工作正常)。更奇怪的是,如果我尝试创建一个新表单并将 MyControl 拖到它上面,我会收到此 Entity Framework 错误:

Failed to create component 'MyControl'. The error message follows: 'System.ArgumentException: The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid. at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) at System.Data.EntityClient.EntityConnection..ctor(String connectionString) at System.Data.Objects.ObjectContect.CreateEntityConnection(String connectionString) etc. etc.

我的连接字符串没有任何问题:它之前有效,而且,当我实际运行程序时它再次有效(控件已经存在于上一次提交的旧表单中)。


有什么想法吗?我完全不知所措。


[编辑]唯一重要的代码:

MyControl.cs
public MyControl()
{
_entities = new MyEFEntities(); //Entity-framework generated class
}

MyForm.Designer.cs
private void InitializeComponent()
{
this.myControl1 = new MyNamespace.MyControl();
...
this.Controls.Add(this.myControl1);
}

MyEFDatabase.Designer.cs
public MyEFEntities() : base("name=MyEFEntities", "MyEFEntities") { ... }

App.Config
<connectionStrings>
<add name="MyEFEntities" connectionString="metadata=res://*/MyEFDatabase.csdl|res://*/MyEFDatabase.ssdl|res://*/MyEFDatabase.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=MyDatabaseServer;Initial Catalog=MyDatabase;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

我试过“用'”替换 - 没用。


[Edit2] 它也发生在新项目中,但不是立即发生。只是在摆弄了一下之后(它与添加 EF 自己没有弄清楚的多对一关系有关),但我无法弄清楚重现的确切步骤。

最佳答案

我建议关闭所有在设计模式下打开的表单;全部重建,然后在您重新打开表单设计器时查看它们是否工作——我过去遇到过无法生成控件库的问题,因为它被锁定在内存中(由表单设计器)。

关于c# - 疯狂 VS 设计器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456633/

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