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());
}
});