2012-12-14 33 views
0

是否有可能在.net 4中編寫代碼並編譯它以同時創建Web和桌面應用程序?編寫.net 4代碼編譯爲桌面和web應用程序

我必須支持Web版本和桌面版本的應用程序,並且希望編寫一個版本的代碼並將其編譯爲可在Web(瀏覽器和Web服務器)上運行的Web版本以及桌面應用程序這將在桌面上適用於非基於Web的客戶端。這兩個應用程序應該做更多或更少的相同的事情和相同的接口。

我可以理解會有限制,但有可能嗎?

如果您有任何問題,也請發佈任何包含教程的鏈接。

+1

也許你可以共享**你的大多數非UI代碼**(有一些限制和/或預防措施),但你不能共享用戶界面本身(Web應用程序運行在IIS上,桌面應用程序不)。 UI的技術非常不同(WPF/WinForms桌面版和ASP.NET在網上)並且不能交換。如果您想重用UI,您可以考慮Silverlight **(例如,請參閱Visual Studio LightSwitch的具體內容)。 –

+0

業務層和數據層可能很常見,但UI代碼無法共享。界面需要如何相同?該應用做什麼? – Paparazzi

回答

0

您可以創建一個解決方案,做的是,有3個項目:

  • 1級庫爲核心對象,邏輯,數據訪問等
  • 1 Windows的exe文件的Windows用戶界面
  • 1 Web的應用程序爲Web UI

然而,這是不實際嘗試和鞋拔的Web和Windows UI到同一個工程:項目結構和構建輸出之間必然存在差異

0

這完全取決於您的應用程序的性質。如果您需要構建Windows窗體應用程序,那麼顯然這不能直接轉換爲Web應用程序。

您也許可以使用Silverlight創建一個在桌面和瀏覽器中運行的應用程序。閱讀更多關於Silverlight at MSDN

另一種選擇是編寫一個n層應用程序;爲Web提供一個用戶界面,另一個用於共享業務邏輯和數據的窗口。