.net開發所遇到的問題與解決方案彙總(持續更新。。。)

1.在更高版本的Visual Studio中使用.net framework 2.0。

更高版本默認是不安裝2.0版本的,如果需要使用低版本的framework,比如2.0,那麼需要電腦裏面安裝.net framework,安裝方法很簡單,且適用於windows7、8、10。

點擊開始菜單,在搜索框輸入windows features,選擇打開或者關閉windows功能,如下:

然後選擇Microsoft .Net Framework 3.5.1,不同的系統可能不一樣,只要是3.5版本的就行,把下面的全部勾選上,點擊確定,就自動安裝上了:

安裝好之後,再打開vs,就可以看到項目支持選擇更低版本的.net framework了。

 

2.給程序集簽名https://blog.csdn.net/dap769815768/article/details/103671744

3.使用Entity Framework,在程序包管理控制檯執行:Add-Migration,報異常:ScriptHalted,我出現這個問題的原因是windows7自帶的powershell版本太低,升級到最新版的就解決了,升級方法參照官方文檔:https://docs.microsoft.com/zh-cn/powershell/scripting/install/installing-windows-powershell?view=powershell-6

4.串口通信編程。

SerialPort port = new SerialPort("COM1");
port.DataReceived += Port_DataReceived;

private static void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
     string str = (sender as SerialPort).ReadExisting();
}

這個DataReceived會在每次串口收到數據的時候在一個新的線程裏面觸發一次,如果串口數據很密集,那麼觸發時機會受到線程池的影響,很多事件可能會推遲觸發,因此如果用這種方式接收串口數據,很容易出現各種問題,所以建議接收串口數據的時候使用一個單獨的線程,不停地掃描串口,去消耗串口裏面的數據:

SerialPort port = new SerialPort("COM1");
Task.Factory.StartNew(()=> {
       while (true)
       {
            char c=Convert.ToChar(port.ReadChar());
       }
});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章