英文:
Winforms in .NET Core 6.0 issue with VS 2022
问题
我正在尝试向在.NET Core 6.0上运行的VS 2022社区版中的Winforms应用程序添加控件。每当我从工具箱添加一个控件,比如一个按钮或一个标签,并尝试保存项目时,会弹出错误消息:
应该有两个或更多的类部分
没有进一步的信息。这里是一个截图或参考:
有什么想法吗?
英文:
I am trying to add control to a Winforms application running on .NET Core 6.0 in VS 2022 Community edition. Whenever I add a control from the toolbox, like a button or a label, and try to save the project, an error message pops up
> Should have two or more class parts
There's no further information. Here's a screenshot or reference:
Any ideas?
答案1
得分: 5
在我的情况下,问题似乎是在窗体类文件中添加第二个类的问题。
解决方法:在另一个文件中定义新类。
重现问题的步骤[Visual Studio 17.5.0 最终版]:
- 创建一个新项目:
模板:Windows Forms App
(C#)。下一步。
设置项目名称(例如 MyApplication)。下一步。
框架:.NET 6.0(长期支持版)。创建。 - (Visual Studio 创建项目并打开 Form1.cs 在设计器中)
- 向窗体添加一个按钮控件。保存(Ctrl+S)。确定。
- F7 访问窗体代码。
- 在相同的命名空间下,在 Form1 类的下面添加第二个类(例如 MyClass):
namespace MyApplication
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
public class MyClass
{
public string Name { get; set; }
}
}
- 保存(Ctrl+S)。确定。
- 返回设计器并更改任何内容(例如移动按钮位置)。
- 保存(Ctrl+S)--> 错误:“应该有两个或更多的类部分”
英文:
In my case, the problem seems to be adding a second class in the form class file.
Workaround: Define the new class in another file.
Steps to reproduce the issue [Visual Studio 17.5.0 final]:
- Create a new project:
Template:Windows Forms App
(C#). Next.
Set project name (i.e. MyApplication). Next.
Framework: .NET 6.0 (Long Term Support). Create. - (Visual Studio creates the project and opens Form1.cs in designer)
- Add a button control to form. Save (Ctrl+S). Ok.
- F7 to access form code.
- Add a second class (i.e. MyClass) below Form1 class, in the same namespace:
namespace MyApplication
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
public class MyClass
{
public string Name { get; set; }
}
}
- Save (Ctrl+S). Ok.
- Return to designer and change anything (i.e. move the button position).
- Save (Ctrl+S) --> Error: “Should have two or more class parts”
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论