設定 Web Deploy Package 部署後, 不要刪除特定資料夾

情境: 使用 TFS 做 CI/CD , 發現 Web Deploy Package 會刪除目的地中的資料夾, 造成使用者上傳的檔案都不見了. 解決方式: 用筆記本開 YourApplication.csproj 加入以下宣告,讓部署的時候,排除掉Uploads資料夾,也同時不要刪除該資料夾 <ItemGroup>       <ExcludeFromPackageFolders Include=”Uploads”>     </ExcludeFromPackageFolders>   </ItemGroup>    <ItemGroup>        <MsDeploySkipRules Include=”SkipAppData”>         <SkipAction>Delete</SkipAction>         <ObjectName>dirPath</ObjectName>         <AbsolutePath>Uploads</AbsolutePath>         <XPath></XPath>       </MsDeploySkipRules>   </ItemGroup>   Enjoy. Jacky

0

程式取得 AD 驗證完後, 帳號詳細狀態

很多朋友會開發與 AD 驗證帳號的程式, 並希望取得帳號的狀態值, 提供一個簡單的方式可以方式知道這些狀態. catch (System.DirectoryServices.DirectoryServicesCOMException directoryServiceCOMException) { Console.WriteLine(“—————————————————————“); Console.WriteLine(string.Format(“{0}: Message: {1}”, DateTime.Now.ToString(), directoryServiceCOMException.Message));     Console.WriteLine(string.Format(“{0}: Message: {1}”, DateTime.Now.ToString(), directoryServiceCOMException.ErrorCode));     Console.WriteLine(string.Format(“{0}: Message: {1}”, DateTime.Now.ToString(), directoryServiceCOMException.ExtendedError));     Console.WriteLine(string.Format(“{0}: Message: {1}”, DateTime.Now.ToString(), directoryServiceCOMException.ExtendedErrorMessage)); } directoryServiceCOMException.ExtendedErrorMessage 中會回傳帳號的詳細狀態: [LDAP: error code 49 – 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 775, vece ] 代號相關的狀態說明: 525 user not…

0

Coded UI 擷取執行時的畫面

在 Coded UI 執行的過程中會有許多的 UI 操作, 有時候會需要在特定的畫面擷取存檔做一個記錄. 實作方式如下: Image MyImage = UITestControl.Desktop.CaptureImage(); MyImage.Save(@”C:\Users\jchiou\Desktop\logs\YourNaming001.jpg”, System.Drawing.Imaging.ImageFormat.Jpeg); 如果再進階的運作, 可以將做圖片的比對功能, 可以參考同事的作法: How To: Do image comparison in Coded UI Test https://blogs.msdn.microsoft.com/gautamg/2010/04/08/how-to-do-image-comparison-in-coded-ui-test/   Enjoy. Jacky

0

SQL LocalDB 注意事項

SQL Compact provider在 VS 2013 後已移除了, 可以改用 LocalDB/SQL Express 的方式實作程式. 若在 VS 2013 及 VS 2015 要將 SQL Compact 加回來可以下載外掛: https://marketplace.visualstudio.com/items?itemName=ErikEJ.SQLServerCompactSQLiteToolbox LocalDB 參考資訊: Introducing LocalDB, an improved SQL Express https://blogs.msdn.microsoft.com/sqlexpress/2011/07/12/introducing-localdb-an-improved-sql-express/ SQL Express v LocalDB v SQL Compact Edition https://blogs.msdn.microsoft.com/jerrynixon/2012/02/26/sql-express-v-localdb-v-sql-compact-edition/     LocalDB 使用請注意下列資訊: SQL LocalDB 可以用離線安裝檔安裝在正式環境上. 建議使用最新版 SQL 2016 SP1 Express. 使用 SQL LocalDB 在…

0

用.NET Framework 4.5.2 & 4.6.1版本Report Viewer程式轉 PDF 後中文字複製出來會變成亂碼

情境: .NET Framework 4.5.2 & 4.6.1版本開報表專案都會有這個問題 修該rdlc的xml結構修改裡面的<FontFamily>,無論哪個字型都是會重現問題 透過程式觀察文字複製到剪貼簿裡的狀況,發現複製後就已經壞掉了 解決方法:     目前針對這個Report Viewer與文字亂碼的問題已經在新版的元件有修復了     可以參考這篇文件的說明從nuget下載到最新的元件     https://blogs.msdn.microsoft.com/sqlrsteamblog/2016/09/23/embed-paginated-reports-into-asp-net-web-apps-using-the-report-viewer-2016-control/ HTH. Jacky

0

如何在開發初期即找到程式中有呼叫 WCF 或是 SqlConnection 沒有關閉

這幾年來常常因為客戶的交易系統發生問題而被緊急呼叫到現場處理, 也常是在深夜時候被抓去. 分析到最後, 常是因為資源沒有正常的釋放, 如 Web Server 去呼叫 AP Server 的 WCF 程式沒有關閉連線 或是 資料庫操作沒有關閉連線 我常在想一定要這麼辛苦嗎? 為什麼不在開發的時候就即早發現問題, 不要讓這些不定時炸彈到正式環境後才爆炸. 有一個很簡單且方便的方法: Visual Studio 內建的 靜態程式碼分析 (Static Code Analysis) 步驟如下: 1. 我新增一個 WCF 專案及 Console Appliction, 並在 Console Application 參考 WCF 服務 2. 在 Console Application 專案屬性頁中, 程式碼分析 => 選擇 Microsoft 所有規則 (也可以自行調整規則集內容) 3. 在專案上右鍵 => 分析 =>…

0