上一篇文章我提到:為了使用“國貨”,我把 Linux 上的構(gòu)建和測試委托給了 DaoCloud,而 Travis-CI 不能放著不用啊。還好,這貨支持 macOS 系統(tǒng)。所以就把 CoreCRM 在 macOS 上的構(gòu)建和測試任務(wù)交給它了。
我想國內(nèi)已經(jīng)有很多寫怎么用 Travis-CI 的博客文章了,我就不需要在這里多費話了。當然,最好的文章其實就是 Travis-CI 的文檔;最好的幫助都在 StackOverflow 和 GitHub 上。如果還覺得自己英語不夠用,看不懂這些站的話,我覺得只有兩條路可以選:1. 學(xué)好英語;2. 放棄做程序員。
這里我要記錄的是,使用 Travis-CI 構(gòu)建 CoreCRM 時遇到的兩個問題。在我解決這兩個問題的過程中,我發(fā)現(xiàn)在這是兩個非常普遍的問題,基本上在現(xiàn)在的 .NET Core 版本下 (Microsoft.NETCore.App 1.1.0),是兩個肯定會遇到的問題。我在綜合了好多的 GitHub issue 之后,用了 10 個 commit 才把這兩個問題解決了。
1. OpenSSL 沒有安裝
首先遇到的問題是,在執(zhí)行 dotnet restore 的時候,出現(xiàn)下面的異常:
Unhandled Exception: System.TypeInitializationException: The type initializer for 'Crypto' threw an exception. ---> System.TypeInitializationException: The type initializer for 'CryptoInitializer