Replit.com:在 c 中使用 System.Windows.Forms 命名空间时出现问题#

Replit.com: Problem using System.Windows.Forms namespace in c#

提问人:Schrödingers Capybara 提问时间:3/14/2023 最后编辑:Neil BarnwellSchrödingers Capybara 更新时间:3/14/2023 访问量:185

问:

我正在尝试在 https://replit.com/ 上学习 c#,并在网上找到了用于将图形绘制到屏幕上的代码。

代码曾经有效,但现在不再有效了。现在,每当我运行以下内容时:

using System;
using System.Collections.Generic;
using System.Numerics;
using System.Windows.Forms;
using System.Drawing;

public class Form1 : Form
{
//Code Here\\
}

我收到错误:

>> dotnet run
/home/runner/Rope-Simulation/main.cs(4,22): error CS0234: The type or namespace name 'Forms' does not exist in the namespace 'System.Windows' (are you missing an assembly reference?) [/home/runner/Rope-Simulation/main.csproj]

我尝试浏览包括.NET主页在内的几个网站,但没有任何效果。

另外,知道我没有下载 .NET,但我在 replit.com 中使用了 c# .NET 版本,这可能会有所帮助。

另外,请不要给出复杂的答案,我是 c# 的初学者,仍在学习这些术语。

C# .NET 命名空间 replit

评论

0赞 Fildor 3/14/2023
如果它以前有效,现在没有,那么一定有某种变化。因此,如果可以的话,请恢复到您知道有效的最后一个版本,对其进行测试。如果现在也不起作用,则可能是由于开发环境发生了一些变化,而不是代码发生了变化。
0赞 Fildor 3/14/2023
如果它再次起作用,请跟踪您的步骤,直到您到达它再次中断的确切点。那么你真的离罪魁祸首很近了。
0赞 Neil Barnwell 3/14/2023
该死的,我什至没有注意到 replit 标签。我希望这是问题的标题。哈哈

答:

1赞 Neil Barnwell 3/14/2023 #1

这里的其他答案指出,Replit 不支持 Windows 窗体,因为它在 Linux 上运行。

因此,Windows 窗体已进入 .NET Core,但除了基于 Windows 的 .net 运行时之外,其他任何内容都不支持它。

我想说的是在 Windows 计算机上使用 Visual Studio,并查看一个现代 Windows 窗体示例。让它工作(甚至只是 ,然后将您要尝试的代码移植到该工作示例中,而不是批量复制它。File->New Project->Windows Forms (.NET Core)

下面是一个示例:https://learn.microsoft.com/en-us/dotnet/desktop/winforms/get-started/create-app-visual-studio?view=netdesktop-7.0

它们还包含有关移植 .NET Framework 项目的信息,这些信息可能会告诉您要更改的具体内容: https://learn.microsoft.com/en-us/dotnet/desktop/winforms/migration/?view=netdesktop-7.0

当然,您的替代方法是实际创建一个 .NET Framework(例如 4.8)项目,并将代码复制到其中。作为一种学习练习,这很好,但绝对不要构建实际使用的应用程序。

评论

0赞 Schrödingers Capybara 3/14/2023
有没有其他方法可以绘制图形?我不能使用虚拟机或任何东西,因为我使用的是chromeOS。
0赞 Neil Barnwell 3/15/2023
这取决于你需要什么。如果浏览器可以工作,你可以用html Canvas和一些JavaScript做任何事情。这在精神上与GDI+没有什么不同,这就是你正在考虑的。
1赞 NineBerry 3/14/2023 #2

不能在 Replit 上创建 Windows 窗体应用程序。Windows 窗体需要 Windows 操作系统。Replit运行在Linux上。

请参阅 Replit 用户论坛

评论

0赞 Fildor 3/14/2023
如果这是真的(我绝对相信你),那么“它曾经怎么可能工作”?@SchrödingersCapybara
1赞 NineBerry 3/14/2023
我想薛定谔水豚之前尝试过不同的环境,而不是 Replit。
0赞 Schrödingers Capybara 3/14/2023
我不知道它以前是如何工作的,我从某个网站复制并粘贴了它,它工作了几次,但后来停止了。它在 replit
0赞 Schrödingers Capybara 3/14/2023
您知道其他绘制图形的方法吗?
0赞 NineBerry 3/14/2023
“绘制图形”是什么意思?创建具有特定内容的图像文件?还是在屏幕上显示图形?