發表文章

目前顯示的是有「VisualStudio」標籤的文章

使用DevTunnel公開本機URL

圖片
  Foreword 使用微軟提供的Dev Tunnels取代之前使用NGROK的方式,將本機開發的URL公開在外部網路。 此方式為方便與外部服務整合測試,例如:LineAPI Dev Tunnels 有2種使用方式,以下會介紹何使用 1. Visual Studio 2022 .NetCore程式 內建就有Dev Tunnels功能,第一次使用先建立tunnels 選擇建立好的通道,執行網頁即會出現外部URL 2. 非.Net Core程式 (.Net Framework) 安裝 dev tunnels 程式 裝完後 重開機 ,環境變數位罝才會生效 winget install Microsoft.devtunnel 登入 第一次使用,需要登入Github或微軟帳號 devtunnel user login 執行本機程式,http port 50893 ps: 不能使用https 執行devtunnel 將本機程式公開,並允許匿使用者可以瀏覽 devtunnel host -p 50893 --allow-anonymous 執行後,取得公開的URL,大功告成 進入後按Continue Reference Dev Tunnels Visual Studio in 10 Minutes or Less 董大偉使用DevTunnel取代NGROK

發行前取得分支併入目前程式

圖片
前言 目前開發的專案,發行工作大部分是由CI來處理,但在某些狀況下,為求快速,會直接在Visual Studio上,發行到測試主機上。天下武功、唯快不破......,但"快"容易打破碗。 今天同事A,在本機發行時,並未取得遠端開發分支來合併,導致同事B在測試時,發生鬼打牆事件。為避免之後還有此情況,在發行檔案內,加了一個發行前,先取得分支來合併的設定。 使用方式 打開.pubxml 增加如下 <PropertyGroup> .......以上略 <PipelineDependsOn> CustomActionsBeforeBuild; $(PipelineDependsOn); </PipelineDependsOn> </PropertyGroup> <Target Name="CustomActionsBeforeBuild" BeforeTargets="BeforeBuild"> <Message Text="********************************** BeforeBuild-發行前 取得遠端Main,合併到目前分支 ***********************************" Importance="high"/> <Exec Command="git merge origin/main"/> </Target> 測試 發行程式,在"輸出"視窗,可以看到在建置時,觸發了commad的訊息。 總結 只要是人為的操作,難免會有操作錯誤的行為,所以可以透過設定自動化來解決的工作,可以省下日後不少麻煩。 相關參考 https://stackoverflow.com/questions/35688836/how-to-redirect-powershell-errors-in-pubxml-file-to-error-window Github  原始檔下載

VS2022 Blazor Maui staticwebassets.build.json not found

圖片
問題 之前開發的 Blazor Maui App在VS2022更新後無法建置。 錯誤訊息: staticwebassets.build.json' not found 原因 更新Vs2022 to 17.3.4 or Window Update 。Github有一堆受災戶 已回報Issue 。 解決方法-暫時性的 舊專案清除obj/bin 並執行.net restore,此為修正maui相關的nuget無法正確參考。 安裝 6.0.4 SDK . 在專案的上層目錄(跟.sln同層), 新增global.json 命令如下 dotnet new globaljson --sdk-version 6.0.400 其它/參考 https://github.com/dotnet/maui/issues/10102 https://blog.miniasp.com/post/2021/06/04/Choose-the-right-DotNet-SDK-version-using-global-json

使用Visual Studio Code 編輯Azure Pipline

圖片
問題 Azure Pipelines 在網頁上編輯,雖然提供了提示、Task UI輸入方式,但編輯時,卻總覺得不是很方便。例如:輸入法不小心切到中文,會有亂碼問題。 由於yaml的語法嚴謹性,換行,縮排、空格要排好,不然會直接報錯。而換行、複製/貼上時,縮排常會跑掉,所以又要一直調整......=.=。 解決方法 使用Visual Studio Code編輯YML,支援排版、語法提示等。 1.安裝extension: Azure Pipeline 2.設定Azure Pipeline與 *.yml的檔案關聯, 進入 Command Palette,輸入Change Language Mode  針對*.yml設定為Azure Pipelines     設定完成 編輯時會出現相闗提示 其它/參考 Visual Studio Code 編輯Azure DevOps Pipeline的YAML 這裡有教到如何連接Azure Piple直接建立檔案,但我沒試成功,只有用編輯器提示功能。

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 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

Visual Studio 快速切換方案檔

圖片
前言   今天在Visual Studio 2019 的方案總管視窗,發現了一個小功能,可以讓你在同一資料夾下,快速切換方案檔。如下範例程式,資料夾內有7個專案及2個方案檔。 SolutionViewLab.sln 包含所有專案 SolutionViewLab-Lite.sln 只有使用2個專案 如何使用 在方案總管內,先切換到 Folder View。   切換後,會幫你將該目錄下的方案列出來,此時你就可以隨時切換你想要的方案檔。 總結 以往開發時,會針對近日常使用的方案作開啟,而想切換至另一個專案性質不同的方案時,則要再另外開啟。這樣的 作法,雖然可以,只是每次需要重新載入專案檔,較浪費時間。而此切換的作法,速度明顯快很多。

Visual Studio 啟用 diagnostic tool

圖片
這兩天Visual  Studio 2019 更新後,在debug時,發現我的Diagnostic Tools不見了....。 花了些時間重新把它呼喚回來.....如下: 如何打開 Ctrl+Alt+F2 開啟Diagnostic Tools視窗。 啟用IntelliTrace              Tools -> Options -> IntelliTrace -> General 這樣在debug時,就可以即時查看memory,cpu,sql等資訊.. 參考連結 https://blogs.msdn.microsoft.com/msdntaiwan/2015/07/21/visual-studio-2015/ https://social.msdn.microsoft.com/Forums/en-US/d399acca-2cd5-4c03-a53f-7b8d79c9cb9c/diagnostic-tools-events-window-empty-blank?forum=vsdebug

VS2019無法載入專案The tool version "15.0"

圖片
這兩天看到VS2019正式發佈後,馬上下載來試玩,未料一裝完打開專案後,還來不及開心就出現了無法載入專案錯誤...。 C:\projects\test.csproj : error : The tools version "15.0" is unrecognized. Available tools versions are "14.0", "2.0", "3.5", "4.0" 原因 : 依測試結果,若是 全新的OS安裝不會有問題 ,而原本筆電已有VS2017的才可能會發生。 搜尋相關文章後,錯誤訊息都指向了MsBuild相關的DLL在GAC等版本問題。在連串的測試及比對後,發現MsBuild相關的dll在全新OS安裝下只會有4.0及14.0。而我的筆電卻有 15.1 版本的dllGAC 解決方式: 用administrator 打開Visual Studio Developer Command 執行以下命令來移除Microsoft.Build.*.dll 15.1版本 gacutil.exe /u "Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" gacutil.exe /u "Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" gacutil.exe /u "Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" gacutil.exe /u "Mi...

VS2017.15.8.4 錯誤修正

圖片
最近一直不太敢安裝Vs2017的更新,尤其是跳版號的,每次裝都有問題,這次要從15.7.x升上15.8.4,安裝後,果然不出所料...專案全部無法載入.. 解決方式 根據訊息到開發論壇找到了解答如下: 1.使用管理者權限打開Developer Command 2.輸入以下的命令列 gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Framework.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Engine.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Conversion.Core.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Tasks.Core.dll" gacutil /i "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Build.Utilities.Core.dll" 完成後,需重新打開方案才會正常載入。 參...

VS2017-建置錯誤-FindDependenciesOfExternallyResolvedReferences

圖片
最近的VS2017只要安裝完更新後,在建置時就會出現如下訊息: 版本資訊:Visual Studio 2017 Enterprise 15.7.4 (從15.6.X開始就存在此問題) 解決方式 到討論區尋求答案,得到的暫時處理措施如下: 打開檔案 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets 找到如下紅框,將它移除即可 參考來源 https://developercommunity.visualstudio.com/content/problem/208668/the-finddependenciesofexternallyresolvedreferences.html

Console程式執行Async非同步方法

圖片
今天用主控台應用程式,測試一個非同步方法,如下程式, 建置時會出現錯誤 解決方法 修改專案的建置設定,改成7.1以上(含)的版本 參考來源 https://stackoverflow.com/questions/9208921/cant-specify-the-async-modifier-on-the-main-method-of-a-console-app

VS2017讓其他電腦連線到本機的IISExpress

圖片
IISExpress預設只能透過localhost:port連線,想讓其他電腦連進來的話,須更改方案目錄下的applicationhost.config,路徑 方案/.vs/config/ applicationhost.config 打開applicationhost.config,找到bindings區段 ' 將"*:{port}:localhost" 的 localhost 移除,變成 " *:{port}: " Ps:設定完,記得將IIS Express重開 測試結果 本機測試,輸入本機IP http://192.168.2.50:1933 若外部還是 不能連線 ,要將防火牆的關閉或將 port(1933)允許 。

VS2017 Msbuild Framework Error

圖片
問題 今天電腦重新安裝後,厡本可以發行的Web專案,在發行時出現以下錯誤 Could not load file or assembly "Microsoft.Build.Framework"。

RAM Disk 2017使用記錄

圖片
下載及使用教學 這裡可以下載使用到4G RAM的版本,官網最新只能用1G https://pcrookie.com/?p=891 個人目前使用到的設定 1.加快Visual Studio執行速度- 更改Temporary ASP NET Files的位置 VisualStudio 及IIS machine.config 位置如下: C:\Windows\ Microsoft.NET \Framework64\v4.0.30319\Config 若你的VS是使用IIS Express C:\Windows\ Microsoft.NET \Framework\v4.0.30319\Config 打開machine.config 找到<System.Web>區段加入    <compilation   tempDirectory="R:\Temporary ASP.NET Files\"/> ps:建置的速度一樣,差別在Complier後第一次執行程式的速度

停用TypeScript Complie加快建置速度

圖片
前言         目前的專案由於架構的關係,切分了很多TypeScript檔案,差不多是一個model,service,controller甚至連一個dto就是一個檔案。統計一下約1000個檔案左右。 由於切分了太多檔案,以致於每次在建置時因為TypeScript也會連帶建置而耗費很多時間,今天仔細給它用計時器來看,約要30秒左右...。    在一般狀況下,撰寫完TypeScript時,按下Save就會輸出.js檔,而在建置時又會輸出一次,後者好像在某些狀況不一定需要。例如:本機的999個.ts皆已輸出.js ,而此次只有修改單一個typescript,所以就不需要在建置時全部產生一次。

Unable to launch the IIS Express Web server

圖片
   今天早上程式寫完後,按下F5執行網頁,出現無法執行IIS Express的錯誤....。以往遇到此錯誤訊息,通常都是重開VisualStudio,若再不行的話則要重開機才會好。  每次遇到都要重開需浪費不少時間,才能再重新進入工作狀況,為避免此狀況再來影響工作,決定藉此次來找解決方式。

VS2017 Unable to copy file到roslyn目錄

圖片
同事回報建置時會出現以下錯誤,無法將dll copy到bin的Roslyn目錄下 在我的電腦建置時,則不會有此問題。檢查一下兩邊的版本 26430.13 -->我的版本 26430.1 5 -->同事的版本 將我的電腦升上去後,果然也出現此錯誤。

VS2017 Report Designer 佈署後不能執行

圖片
前言 前一篇 提到 Local Report升上2017需要安裝 Extension  [Microsoft Rdlc Report Designer for Visual Studio] ,在本機測試沒有問題。 但佈署後在Runtime出現格式不符的錯誤。 檢查佈署後的報表,變成precomplier的內容... 由於是已編譯後的內容,而程式是透過指定LocalReport的實體路徑來載入報表檔,所以找到的報表是編譯後的內容,當然會出現格式不符的錯誤。

VS2017 Report Designer 問題排除

圖片
前言   專案升上Vs2017後,針對報表設計的一些問題排除記錄。 1.打開報表檔案後,無法以設計工具呈現,而是用XML Editor打開 解決方法 要另外安裝Extension [Microsoft Rdlc Report Designer for Visual Studio]