發表文章

VS2019 Report Viewer CreateFontPackage Exception

圖片
前言
同事回報開發時期在debug時,會出現如下訊息,但不影響執行結果。
原因 Microsoft.Reporting.WebForms 15.0後,在IIS Express 32位元會出現此問題。 解決方法 改用IIS Express 64位元: Tools --> Options --> Projects and Solutions --> Web Projects
參考連結 https://stackoverflow.com/a/60049627/4872843

VS2019 Report Designer 問題排除

圖片
前言
同事回報Vs2019的報表檔案無法建置。相關訊息如下: Severity    Code    Description    Project    File    Line    Suppression State Error        The "RdlCompile" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin" directory.     WebApplication5            

Severity    Code    Description    Project    File    Line    Suppression State Error        The "Microsoft.Reporting.RdlCompile" task could not be loaded from the assembly Microsoft.ReportViewer.WebForms, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91. Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Versio…

Jenkins - 使用Java rumtime 64位元

圖片
前言
同事回報Jenkins建置時,發生錯誤:StackOverflowError,查詢相關文章後,判斷跟JVM使用記憶體上限有關。
解決方法 在jenkins.xml將記憶體調高,不過在32位元下的Java runtime下,最多只能調到1.5G左右,我目前的設定值為1024mb。鑑於目前CI主機有足夠的記憶體,可以讓Jenkins好好發揮。所以試著將Java runtime 改成64位元,才可以設定更高的記憶體。
1.下載java runtime 64 位元。本文安裝路徑:C:\Program Files\Java\jre1.8.0_241
2.修改jenkins.xml。 executable : 原為Jenkins內建的jre,改成jre 64位元安裝位置。ps:要指定.exe副檔案,網頁才有辨法執行。 arguments :本例 X2048m 為設定記憶體到2G <service>   <id>jenkins</id>   <name>Jenkins</name>   <description>This service runs Jenkins continuous integration system.</description>   <env name="JENKINS_HOME" value="%BASE%"/>   <!--     if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.     The following value assumes that you have java in your PATH.   -->   <executable>C:\Program Files\Java\jre1.8.0_241\bin\java.exe</executable>   <arguments>-Xrs -Xmx2048m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLife…

vs2019 unable to connect to iis express

圖片
問題 今天一開工要執行Web專案時,就出現一個莫名的錯誤訊息"unable to connect to iis express"。將專案重新開啟也一樣會持續發生。
解決方式 到方案目錄下,將檔案總管的隱藏項目打開。將.vs目錄刪除即可。
其它參考 https://developercommunity.visualstudio.com/content/problem/599446/unable-to-connect-to-web-server-iisexpress-unless.html

Jenkins - 使用FTP發行程式

圖片
目前有一支Console程式,在Jenkins建置後,會發行到內部網路的其他主機。現在有一需求是要跨Internet到遠方主機。想來想去,透過FTP好像是唯一可行的方式。
安裝Publish Over FTP 安裝後,到Configure,建立FTP的登入資訊。
紅框打勾後,會使用一條連線完成所有傳輸。避免被FTP Server判定為使用太多條連線,而發生錯誤。
透過Pipeline執行FTP 以下為透過Pipeline Snippet Generator產生的語法。但產生後,會缺少2個參數,少了這2個,建置會報錯,如下紅字。 configName:KimFtp  在Configure設定好的組態檔。 sourceFiles: '**/**' 所有檔案及子目錄 ftpPublisher paramPublish: null,masterNodeName:'',alwaysPublishFromMaster: false, continueOnError: false, failOnError: false, publishers: [[configName: 'KimFtp', transfers: [[asciiMode: false, cleanRemote: false, excludes: '', flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**/**']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]

其它/參考 Publish Over FTP

Visual Studio 快速切換方案檔

圖片
前言   今天在Visual Studio 2019 的方案總管視窗,發現了一個小功能,可以讓你在同一資料夾下,快速切換方案檔。如下範例程式,資料夾內有7個專案及2個方案檔。

SolutionViewLab.sln 包含所有專案 SolutionViewLab-Lite.sln 只有使用2個專案
如何使用
在方案總管內,先切換到 Folder View。
切換後,會幫你將該目錄下的方案列出來,此時你就可以隨時切換你想要的方案檔。
總結
以往開發時,會針對近日常使用的方案作開啟,而想切換至另一個專案性質不同的方案時,則要再另外開啟。這樣的 作法,雖然可以,只是每次需要重新載入專案檔,較浪費時間。而此切換的作法,速度明顯快很多。

使用WIX建立Window安裝程式 - 包含.Net Framework

圖片
前言    此篇是接續,前一篇[使用WIX建立Window安裝程式 - 基本安裝],本文要來介紹如何在安裝時,順便將離線檔的.Net 4.8也順便安裝好。
建立Bootstraper安裝專案 1.選擇專案樣板:Bootstrapper Project for Wix v3。此專案用來將多個安裝專案及必要條件,作封裝用。
2.加入應用程式專案、前一篇建立的Setup,以及相關extension參考,如下圖的(1)
另外圖的第2點Resources目錄下有一個.net 4.8的離線安裝程式,等會我們會把它封裝入安裝程式內。ps:此檔案不會在Github的原始檔內,因為檔案太大無法簽入。需要的話請另外下載
3.打開Bundle.wxs,修改如下圖,此為部份設定,完整的請參考Github的完整程式。關於此檔案的設定,實現的功能如下: PackageGroup : 指定.net framework 4.8的檢查條件及安裝來源、命令等。 Chain : 設定安裝順序,本例:先安裝.net 4.8後再安裝Setup.msi。


設定完畢後,按建置會產出一個Setup.exe檔案,此檔案已含安裝程式.msi及.net 4.8安裝程式,安裝畫面如下: 用戶端沒有安裝.Net 4.8的話,會先安裝: 安裝完畢後,若此次有安裝.Net4.8,會要求重新開機。 若本來已有的話,則會出現Launch 按鈕。

參考連結 Sample (主要參考) http://www.shisujie.com/blog/WiX-ToolsetIndex Bootstraper theme Sample https://www.shisujie.com/blog/Install-the-dotNet-Framework-Using-Burn