C# 我可以使用ASP.NET创建Windows窗体应用程序吗?

C# 我可以使用ASP.NET创建Windows窗体应用程序吗?,c#,asp.net,desktop-application,C#,Asp.net,Desktop Application,我对ASP.NET很陌生。当我尝试创建ASP.NET应用程序时,我发现了一些有趣的东西 我创建了一个按钮,并在click事件处理程序中编写了以下代码: protected void Button1_Click(object sender, EventArgs e) { Form FormMain = new Form(); FormMain.Show(); } 然后我尝试添加对System.Windows.Forms的引用。我运行了它,它成功了。当我单击浏览器按钮时,会出现Wi

我对ASP.NET很陌生。当我尝试创建ASP.NET应用程序时,我发现了一些有趣的东西

我创建了一个按钮,并在click事件处理程序中编写了以下代码:

protected void Button1_Click(object sender, EventArgs e)
{
    Form FormMain = new Form();
    FormMain.Show();
}
然后我尝试添加对System.Windows.Forms的引用。我运行了它,它成功了。当我单击浏览器按钮时,会出现WinForms窗体


我是否可以使用此技术构建桌面应用程序,使所有代码都在web中?

否,web应用程序在服务器中运行

桌面应用程序在客户端运行

这只适用于您在本地运行它,但在将ASP.Net Web应用程序部署到Web服务器时它将不起作用

如果您需要创建Web应用程序,那么使用标准的ASP.Net技术将HTML[+JavaScript+CSS]内容传送到浏览器。您可以选择“传统”ASP.NETWebForms或ASP.NETMVC

如果需要创建Windows桌面应用程序,请使用WPF

如果需要创建Windows 8“Metro风格”应用程序,请使用WinRT XAML


winforms在这一点上是完全无用的。

您可以这样做,但这不会给您的用户带来任何好处。如果您需要共享逻辑,请将其创建为独立项目,以便编译为独立程序集,然后您可以将其发布到任何地方。

从技术上讲,“所有代码”都在类、.NET程序集中,而不是在WinWorms的WebForms中。有趣。您是否尝试在网络中的另一台计算机上访问此功能?我能想到的唯一问题是:如果您的用户没有在您的计算机上安装相同版本的.net framework,该怎么办?我没有尝试过,我想知道是否有人尝试过,他可能不是想在本地发布WinForms。它会起作用,但我不知道他为什么需要它。事实上,我已经用C#desktop应用程序制作了一个windows应用程序,现在我想把它变成一个基于web的应用程序,但我对asp.net非常陌生,我正在为我寻找最好的解决方案。不,你们不能互相转换:)不可能。它们以不同的方式工作。