到微軟下了幾次社區版,裝下來都是VS2017,不是2019
安裝完成之后,發現只能創建 dotnet core 的控制臺應用程式,不能創建桌面應用程式
我的專案基本需求:
1、能在 linux 上跑,當然 linux 肯定是有桌面版的,作業系統有表單
2、應用程式有表單,還有托盤圖示
3、能進行TCP和串口/usb通信
4、能使用dotnet framework中 HttpListener 類,或者相似功能的類,我的 很多功能依賴于它提供的API
5、執行緒支持
uj5u.com熱心網友回復:
.net core的桌面應用也是windows應用。跨平臺默認只能開發控制臺應用,如果需要開發跨平臺的GUI程式,可以看看mono或者Avalonia。uj5u.com熱心網友回復:
官網下載的肯定是2019,不知道你哪兒下載的https://visualstudio.microsoft.com/zh-hans/downloads/
linux上肯定是沒有表單的,WinForm 是 Windows Form,WPF 是 Windows Presentation Foundation,都離不開Windows 。
你的程式還是要和硬體互動的為主,跨平臺的框架也可能不適合你,哪些更多是在界面上的跨平臺。
uj5u.com熱心網友回復:
看你另外一個問題的提問,我覺得用core的話,做成一個網站,反正core網站也是不依賴iis的,監聽也能解決,控制通過瀏覽器,界面做成網頁就行。關鍵是你的第三方DLL到底能不能支持跨平臺?不支持的話啥都是白瞎
uj5u.com熱心網友回復:
你的意思是說,dotnet core 的windows應用程式無法在linux上運行?
uj5u.com熱心網友回復:
對。不管.net framework也好,.net core也好,.net 5也好,只要是"windows應用程式",就只能在windows里跑。尤其是圖形程式。就像樓上推薦的,跨平臺其實web是最佳方案,如果條件限制用不了,可以考慮mono, avalonia這些。
uj5u.com熱心網友回復:
.net core的桌面應用也是windows應用。跨平臺默認只能開發控制臺應用,如果需要開發跨平臺的GUI程式,可以看看mono或者Avalonia。
你的意思是說,dotnet core 的windows應用程式無法在linux上運行?
是的
uj5u.com熱心網友回復:
事實上,不僅 winform用的控制元件不支持,連 System.Drawing 里哪些繪圖api都沒有,因為這些畫點畫線的繪圖api都是 Windows的gdi組件提供的。不過繪圖的不涉及界面,這些倒是有第三方在linux里另外實作的一遍,大致可以兼容。uj5u.com熱心網友回復:
去年的WinForm專案,簡單的功能,用 HttpListener 打開本地8123埠進行監聽,然后根據接入的URL資訊呼叫本地第三方提供的DLL
考慮要運行在XP上,以及安裝程式制作方便,還有其它一些原因,當時我用 VS2010 開發,用 dotnet framework 4.0 profile
現在要考慮讓它運行在 linux 上,而 dotnet core 可跨平臺。想咨詢各位,能用 dotnet core 編譯嗎,或者有更好的解決方案
看你另外一個問題的提問,我覺得用core的話,做成一個網站,反正core網站也是不依賴iis的,監聽也能解決,控制通過瀏覽器,界面做成網頁就行。關鍵是你的第三方DLL到底能不能支持跨平臺?不支持的話啥都是白瞎
非常感謝!
沒錯,這是同一個問題!
現在專案的情況是,專案是一個WEB應用程式,客戶端則解決了幾個問題:
1、因為有一部分客戶端,需要通過USB連接一些設備,廠家提供了DLL,而現在新版本的瀏覽器呼叫DLL很麻煩,所以做個Windows應用程式,在客戶端開個HTTP埠,讓瀏覽器通過WEB請求訪問它,再通過這個Windows程式呼叫DLL
2、某些客戶端可以用 Processor 啟動第三方提供的行程
3、分屏,就象火車站賣票那樣,售票員看到的界面很豐富,然后有一個小顯示屏,用很大的字告訴視窗前的客戶,你買的是哪天哪次車的票,應收/找回金額。在Windows下的做法是,客戶端電腦接兩個顯示幕,客戶端Windows程式收到對應請求后,啟動一個Windows視窗展示在小顯示幕上,表單內嵌一個WebBrowser。
如果客戶端用網頁的話,第三個功能可能就很困難了
uj5u.com熱心網友回復:
我感徑訓是別換dotnet core了吧,沒啥意義
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/268046.html
上一篇:菜鳥求助,熟手幫幫手,謝謝
