先執行 sudo su 換 root 權限
再執行 sudo apt-get update
再執行 sudo apt install
就能正常安裝了
2019年2月23日 星期六
2019年2月22日 星期五
Ubuntu 執行後出現錯誤訊息 The type initializer for 'Gdip' threw an exception. 錯誤訊息的解決方法
最近安裝了 nuget 的 NPOI 來處理 excel 檔案
在 Ubuntu 的 Linux 環境發生了 The type initializer for 'Gdip' threw an exception. 的錯誤訊息
執行 sudo ln -s /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so
執行完畢,就能解決這個問題。
在 Ubuntu 的 Linux 環境發生了 The type initializer for 'Gdip' threw an exception. 的錯誤訊息
執行 sudo ln -s /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libdl.so
執行完畢,就能解決這個問題。
怎樣判斷 .NET Core (包含 ASP.NET Core)是 Debug 或 Release ?
用 JustDecompile 可以看到 DLL 的資訊
下面是 Debug 版本的資訊 :
下面是 Release 版本的資訊 :
這樣我們可以用下面的程式碼,判斷 DLL 是否為 Debug 版本。
下面是 Debug 版本的資訊 :
下面是 Release 版本的資訊 :
這樣我們可以用下面的程式碼,判斷 DLL 是否為 Debug 版本。
2019年2月20日 星期三
在多個 .NET Core 版本之間進行切換
建立一個 global.json
{
"sdk": {
"version": "2.1.503"
}
}
只要指定版本號,就能執行 .NET Core 特定版本號
{
"sdk": {
"version": "2.1.503"
}
}
只要指定版本號,就能執行 .NET Core 特定版本號
升級 dotnet core 3.0 造成 Blazor for dotnet core 2.1 無法執行的問題解決
編譯後在 ubuntu 上執行發生錯誤訊息:
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '2.1.8' was not found.
原因是 AspNetCore 預設使用 2.1.8
而 Blazor 只能在 2.1.7 上正常執行
解決方法是修改 Visual Studio 的 *.csproj
指定 AspNetCore 的版本號為 2.1.7
PackageReference Include="Microsoft.AspNetCore.App"
修改設定指定版本為 2.1.7
(AWS EC2 預設 Image 為 2.1.2 改成 2.1.2 試過可以正常執行)
PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.7"
重新編譯後的新版本就能正常的執行了
PS.如果在 Visual Studio 2017 出現錯誤訊息:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.AspNetCore, Version=2.1.7.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
只要把剛剛的修改還原就能 Debug 了。
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '2.1.8' was not found.
原因是 AspNetCore 預設使用 2.1.8
而 Blazor 只能在 2.1.7 上正常執行
解決方法是修改 Visual Studio 的 *.csproj
指定 AspNetCore 的版本號為 2.1.7
PackageReference Include="Microsoft.AspNetCore.App"
修改設定指定版本為 2.1.7
(AWS EC2 預設 Image 為 2.1.2 改成 2.1.2 試過可以正常執行)
PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.7"
重新編譯後的新版本就能正常的執行了
PS.如果在 Visual Studio 2017 出現錯誤訊息:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.AspNetCore, Version=2.1.7.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
只要把剛剛的修改還原就能 Debug 了。
2019年2月14日 星期四
為 Ubuntu 增加 PATH 的環境變數
修改系統檔案都要用 root 權限
先執行 sudo su 換 root 權限
可以用 vim /etc/profile
然後
按下 i
在檔案末端加上
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
或直接指定安裝路徑
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:/usr/share/dotnet
輸入 :wq
離開 vim 編輯
執行 . /etc/profile
就能在任何目錄上呼叫 dotnet 了
先執行 sudo su 換 root 權限
可以用 vim /etc/profile
然後
按下 i
在檔案末端加上
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
或直接指定安裝路徑
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:/usr/share/dotnet
輸入 :wq
離開 vim 編輯
執行 . /etc/profile
就能在任何目錄上呼叫 dotnet 了
2019年2月13日 星期三
NLog 的 NLog.config 的設定簡介
NLog 的 NLog.config 的設定內容主要有兩個 target 與 rules
target 內容如下:
target name="fatalFile" xsi:type="File"
fileName="${basedir}/Logs/FatalFile.txt"
layout="${longdate} | ${level:uppercase=true} | ${message} ${newline}"
target 的 fileName 為檔案名稱。
${basedir} 表示目前程式執行的目錄(暫訂為 c:\temp)
所以輸出的檔名會是 c:\temp\Logs\FatalFile.txt
target 的 layout 為 Log 輸出的格式,如下:
2019-01-10 14:25:03.0966 | TRACE | 程式結束執行!
${longdate} 代表寫 Log 當下的時間
${level:uppercase=true} 代表 log level 並轉大寫
${message} ${newline} 代表 寫下 Log 內容並換行。
rules 內容如下:
logger name="*" levels="Trace, Debug, Info, Warn" writeTo="fatalFile"
writeTo 也就是指剛剛 target name
levels 是要記錄的 log level
target 內容如下:
target name="fatalFile" xsi:type="File"
fileName="${basedir}/Logs/FatalFile.txt"
layout="${longdate} | ${level:uppercase=true} | ${message} ${newline}"
target 的 fileName 為檔案名稱。
${basedir} 表示目前程式執行的目錄(暫訂為 c:\temp)
所以輸出的檔名會是 c:\temp\Logs\FatalFile.txt
target 的 layout 為 Log 輸出的格式,如下:
2019-01-10 14:25:03.0966 | TRACE | 程式結束執行!
${longdate} 代表寫 Log 當下的時間
${level:uppercase=true} 代表 log level 並轉大寫
${message} ${newline} 代表 寫下 Log 內容並換行。
rules 內容如下:
logger name="*" levels="Trace, Debug, Info, Warn" writeTo="fatalFile"
writeTo 也就是指剛剛 target name
levels 是要記錄的 log level
2019年2月12日 星期二
supervisor 開啟 Web 介面
輸入 sudo vi /etc/supervisor/supervisord.conf
進入 vi 程式並編輯 supervisord.conf 檔案
按下「I」鍵(-- INSERT --)
在檔案尾端,新增設定:
[inet_http_server] ; inet (TCP) server disabled by default
port=0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=pass ; (default is no password (open server)):
輸入「:wq」寫入 supervisord.conf 並離開 vi 程式
重新啟動 supervisor
輸入 sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl reload
沒意外瀏覽 http://localhost:9001 就可以看到 Web 介面
訂閱:
文章 (Atom)
Visual Studio 2017/2019 推薦的擴充功能與更新
參考文章: 覺得 Google 的 Blogger 不太順手?透過 HTML 的 iframe 移花接木 HackMD
-
最近電腦沒在操作,CPU 風扇一直高速在運轉,查了一下工作管理員,發現 WMI Provider Host 一直占用著 CPU。 檢查一下「事件檢視器」應用程式及服務紀錄檔\Microsoft\Windows\WMI-Activity\Poerational,發現有錯誤一...
-
當無法修復或解除安裝 Visual Studio 時, 可以透過 InstallCleanup.exe 工具來移除所有安裝的 Visual Studio。 InstallCleanup.exe 工具所在的目錄: C:\Program Files (x86)\Micros...





