在很土豪的微軟免費給大家提供 GitHub 的構建服務器受到了小伙伴們的一堆好評之后,微軟最近推出了 WPF 的 .NET Core 版本的模板,可以快速上手 WPF 項目的自動構建,支持自動進行單元測試和打包,同時輸出打包的文件
首先需要創建一個 WPF 項目,最簡單的創建方法就是通過下面一句命令行
dotnet new wpf -o Foo
此時就創建了一個叫 Foo 的 WPF 項目了,接下來通過 VisualStudio 打開這個項目,咱現在准備放在 GitHub 上進行自動構建,然后打包一個UWP包出來
可以通過 VisualStudio 新建一個打包項目,這個打包項目就可以將 win32 應用打包為 UWP 包
暫時先使用測試的證書,創建測試證書的方法就是雙擊打包項目的 Package.appxmanifest 文件,點擊打包,然后點擊選擇證書
點擊創建然后輸入名字點擊確定就可以,請看下圖
此時就創建了 Foo_TemporaryKey.pfx
證書文件,當然你的證書名應該和我不相同
在進行 GitHub 的 Action 構建的時候,需要將證書作為 base64 存放,存放在 GitHub 的憑據里面,這樣能保持項目的安全
在使用 dotnet 的時候,有一個特別好用的功能叫 dotnet tool 通過這個功能,可以使用很多大佬寫的工具,當然就包括了將文件轉換為 base64 的工具啦
我上次告訴小伙伴,請他的 dotnet base64 項目添加文件的支持 https://github.com/Towmeykaw/dotnet-base64/issues/2 然后小伙伴很快就支持了這個功能,此時可以通過一句命令安裝這個工具
dotnet tool install -g dotnet-base64
接下來就可以通過 base64
這個命令將文件轉換為 base64 了,嘗試進入到打包項目里面,假設打包項目的測試證書文件是 Foo_TemporaryKey.pfx
文件,那么輸入下面代碼就可以看到將證書文件轉換為 base64 字符串
base64 -f Foo_TemporaryKey.pfx
當然,輸出到控制台不是很好復制,使用下面代碼可以讓這個工具輸出到文件里面
base64 -f Foo_TemporaryKey.pfx -o base64.txt
此時就可以拿到了 base64 文件了
打開 GitHub 的項目的設置,進入到 Secrets 頁面
點擊 Add a new secret 新建保密信息
此時輸入 Base64_Encoded_Pfx 作為保密信息名,內容請填寫剛才轉換的 base64 的內容。此時填寫的保密信息名將和創建的模板的內容相同,就不需要做更多的更改
點擊添加,然后進入 Action 頁面
此時可以看到新推出的 WPF 構建項目
點擊 set up this workflow 按鈕就可以進行創建,此時需要填寫的內容如下
env:
Solution_Name: your-solution-name # 替換為解決方案名 如 MyWpfApp.sln.
Test_Project_Path: your-test-project-path # 替換為測試項目的路徑 如 MyWpfApp.Tests\MyWpfApp.Tests.csproj.
Wap_Project_Directory: your-wap-project-directory-name # 替換為相對於解決方案的打包項目文件夾 如 MyWpfApp.Package.
Wap_Project_Path: your-wap-project-path # 替換為打包項目文件路徑 如 MyWpf.App.Package\MyWpfApp.Package.wapproj.
替換完成之后點擊 Start commit 就完成啦
等待打包完成之后,會自動上傳到 artifacts 可以下載,下載的內容就是 UWP 包