星期二, 6月 24, 2025

[C#] ValueTuple In .NET Framework 4.7

把 C# WinForm repo 從 remote 拉下來合併時,發生某新增的 namespace 存在,但是 VS 說找不到情況,刪除 VS bin 後 rebuild 恢復正常,但執行時卻由 Autofac 產生 Exception,錯誤訊息如下
Could not load file or assembly 'System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. 系統找不到指定的檔案
該 Project 內 ValueTuple 已經是 4.6,但錯誤訊息卻是 4.0.3,發現在 App.Config 內有該段 bindingRedirect
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
      </dependentAssembly>
  </runtime>
  <startup>
</configuration>

把該段刪除後確定可正常執行,從版控中發現這是 202005 .NET Framework 從 4.6 升級為 4.7.2 時被加入,另外從下述討論得知,其實 ValueTuple 在 .NET Framework 4.7 開始就已經內建啦,不需要依賴 nuget 套件
最後判斷是把 App.Config 內的 bindingRedirect 刪除不會影響,順勢把 nuget 下載的 ValueTuple 移除。

進一步追查在 202503 整理 nuget 套件時,有把 ValueTuple 從 4.5 升級為 4.6,不知道是不是該動作造成,要不然 bindingRedirect 從 202005 就存在,不可能這五年時間都相安無事。

星期四, 6月 12, 2025

GodexRT730x-QRCode 無法掃描

突然接到使用者告知,列印出來的 QRCode 沒有辦法進行掃描,反覆交叉測試發現,只有少數幾台 PC 有該現象,確認正常 PC 上安裝的 Driver 版本,換成該版本就正常,目前是退回 2021.1
有下載最新版本 Driver 也是不能掃描

星期三, 6月 11, 2025

GodexRT730x-恢復系統出廠設定值

GodexRT730x 發生狀況,想說恢復系統出廠設定值來看看,但在設備本體上沒有發現重置按鈕,查官方文件說要透過 NetSetting 軟體來進行
重置後要在 NetSetting 內重新設定 IP,竟然出現該錯誤訊息,最後是透過 Web 方式連線進設備去設定
NetSetting 版本為 V1.17, Build Date:2023.08.02 15:15:38

星期六, 6月 07, 2025

[EF] edmx - 連線字串

Entity Framework 6.5.2 edmx 所在 Project app.config 有拆成 app.Debug.config 和 app.Release.config 兩個檔案來對應 debug 和 release 模式,因此 app.config 內的連線字串都是空白,導致 edmx 開啟時,都會跳出詢問連線字串畫面,個人用習慣也沒發現到奇怪之處,當成 edmx 標準流程,但同事把連線字串存進 app.config 後,連線字串畫面沒有出現,才意識到有這兩者差異,edmx 只會直接抓 app.config 內容就是

當時是透過 [VS] 使用 Configuration Transform 依組態切換 App.Config 把 app.Config 拆成 app.Debug.config 和 app.Release.config

edmx 連線字串畫面,勾選 [將 App.Config 中的連線設定儲存為] 就可以把連線字串存進 app.config 檔案內 

星期五, 6月 06, 2025

[EF] 在模型中包含外部索引鍵資料行 - 設定值

操作 edmx 時突然注意到為什麼 master、detail 架構下的 detail entity FK 關聯對應欄位竟然沒有產生,後來確認是 edmx [在模型中包含外部索引鍵資料行選項] 竟然被取消掉,再勾選重建 Entity 後 FK 關聯對應欄位就出現
下圖上方 Entity 圖為預期產生結果,下方 tblDetail Entity 沒有 MasterID Property 出現
另外查詢 edmx 版控,也找到把該設定改掉的人