编写.NET4代码以编译为桌面和web应用程序

编写.NET4代码以编译为桌面和web应用程序,.net,.net,是否可以在.NET4中编写代码并编译以同时创建web和桌面应用程序 我必须支持应用程序的web版本和桌面版本,并且希望编写一个版本的代码,并将其编译为web版本,在web上工作(浏览器和web服务器),以及桌面应用程序,该应用程序将在桌面上为非基于web的客户端工作。这两个应用程序应该做或多或少相同的事情和相同的界面 我能理解会有一些限制,但有可能吗 如果您有教程,也请发布任何链接。您可以创建一个解决方案,其中包含3个项目: 1个用于核心对象、逻辑、数据访问等的类库 1个windows用户界面

是否可以在.NET4中编写代码并编译以同时创建web和桌面应用程序

我必须支持应用程序的web版本和桌面版本,并且希望编写一个版本的代码,并将其编译为web版本,在web上工作(浏览器和web服务器),以及桌面应用程序,该应用程序将在桌面上为非基于web的客户端工作。这两个应用程序应该做或多或少相同的事情和相同的界面

我能理解会有一些限制,但有可能吗

如果您有教程,也请发布任何链接。

您可以创建一个解决方案,其中包含3个项目:

  • 1个用于核心对象、逻辑、数据访问等的类库
  • 1个windows用户界面的windows exe
  • 1个web UI的web应用程序

但是,尝试将web和windows UI合并到同一个项目中是不切实际的:这两个项目的项目结构和构建输出必然不同,这完全取决于应用程序的性质。如果需要构建windows窗体应用程序,则显然无法将其直接转换为web应用程序

您可以使用Silverlight创建在桌面和浏览器上运行的应用程序。阅读更多关于


另一种选择是编写一个n层应用程序;有一个用于web的UI和一个单独的用于共享业务逻辑和数据的windows的UI。

您可能可以共享大部分非UI代码(有一些限制和/或注意事项),但不能共享用户界面本身(web应用程序在IIS上运行,桌面应用程序则不能)。UI的技术非常不同(WPF/WinForms用于桌面和web上的ASP.NET),不能互换。如果你想重用UI也可以考虑Silverlight(例如,VisualStudio ListCwitter是怎么做的)。业务和数据层可以是通用的,但是UI代码不能共享。接口需要有多大的一致性?这个应用程序做什么?