2019年5月8日 星期三

新增 NuGet 後出現編譯警告 warning MSB3276 與 "AutoGenerateBindingRedirects" 屬性設為 true 的解決方法

新增 NuGet  後出現編譯警告



1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild
\15.0\Bin\Microsoft.Common.CurrentVersion.targets(2110,5)
: warning MSB3276: 在同一個相依組件的不同版本之間發現衝突。
請將專案檔中的 "AutoGenerateBindingRedirects" 屬性設為 true。
如需詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=294190。

只要在 *.csproj 內加入


// '<'與'>'被改成全形了,記得改回來半形
<autogeneratebindingredirects>true</autogeneratebindingredirects>
警告就消失了

超簡單 Jenkins 安裝 MSBuild 外掛一鍵發佈 Visual Studio 專案

進入到 Jenkins 系統






























進入「管理 Jenkins」的「管理外掛程式」的「可用的」的「MSBuild」























安裝完畢,勾選重啟 Jenkins

管理 Jenkins->Global Tool Configuration

找到 MSBuild












輸入 MSBuild 的預設路徑
版本:15(X86) 名稱:VS 2017(x86)路徑: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
版本:15(X64) 名稱:VS 2017(x64)路徑: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\amd64

建立新工作
































Enter an item name 輸入個工作名稱
選擇「建置 Free-Style 軟體專案」
點擊「OK」























點擊「建置」
選「Build a Visual Studio project or solution using MSBuild」
選擇「MSBuild Version」
填入「MSBuild Build File」專案路徑
按下「儲存」

























MSBuild 的 Command Line Arguments 可以指定 Debug 或 Release 組態等功能:
這些指令接續要多一個空白
/t:Restore :代表如果沒有Nuget套件他會幫你做還原的動作
/t:rebuild :代表他不管怎樣都會重新建置這個專案
/p:Configuration=Release :選擇你想要建置的版本(Debug、Release、Any CPU等)
/p:DeployOnBuild=true:允許建置完發行
/p:PublishProfile=FolderProfile.pubxml:選擇要發佈的檔案
/p:AllowUntrustedCertificate=true:允許未經信任的認證
/p:Password=IIS 發行的使用者密碼
/p:Configuration=組態名稱

右邊有一個編譯按鈕
W 下方的太陽表示編譯成功
點進去「上次成功時間」






點擊「Console Output」可以看到編譯結果的紀錄




2019年5月7日 星期二

超簡單安裝 Jenkins 持續整合工具 Windows 版本

Jenkins 是目前蠻多人使用的 Continuous integration  持續整合工具,簡稱 CI ,可以改善軟體開發流程,所以有一定的學習價值。

先去官網下載 Jenkins 的 Windows 版本:Jenkins 下載網址

























執行安裝後,出現提示 Unlock Jenkoins,依據上面紅色字體路徑 C:\Program Files (x86)\....,取得文件內的密碼,再貼上輸入框內。























接下來 Customize Jenkins 我選 Install suggested plugins

等待下面 Getting Started 的安裝視窗,安裝有點久,去喝杯水上個廁所吧!
























建立一組 Admin 帳號,然後按 Continue as admin 繼續

確認網址一下























按下 Start using Jenkins 進入系統























成功進入系統了










































2019年5月5日 星期日

一毛錢都不用花,利用 GitHub 超簡單幫你建立免費網站

首先建立一個新專案
專案名稱一定要命名為「[GitHub帳號].github.io」的格式





















[GitHub帳號] 如果是 Apple
就命名為 Apple.github.io

在專案裡新增一個 index.html 內容可以打
















上傳後,在瀏覽器打上網址:[GitHub帳號].github.io
承上例 https://apple.github.io/
就能連上網頁




如何在 GitHub 上的 README.md 寫入 C# 程式碼

GitHub 上寫 README.md 如果須要寫入 C# 程式碼範例 可以透過 ```csharp 開頭包住程式碼並用 ```做結尾 格式如下:


```csharp
public class MyLogger : ILogger
{
    public void Print(string msg, Color color)
    {
        Log.Print(msg, color);
    }
}
```



這樣就能順眼的顯示 C# 的程式碼了,如下圖:


2019年4月26日 星期五

Visual Studio 2017 超簡單連線到 MySQL

下載 MySQL for Visual Studio 1.2.8
https://dev.mysql.com/downloads/windows/visualstudio/

點選 No thanks, just start my download.

安裝完畢
選擇是「伺服器總管」、「資料連接」並按下滑鼠右鍵「加入連接」
點選「變更」選擇 MySQL並填入 URL、帳號、密碼與資料庫名稱
測試連線正常就能開始操作資料庫了





使用 Visual Studio Code 超簡單連接 MySQL 資料庫進行查詢

Ctrl + Shift + X 安裝延伸模組 MySQL 與 MySQL Syntax


點擊+新增MySQL連線
填入 URL 、帳號、密碼、Port 他他可以 Enter 略過不填
選擇資料庫、資料表、並按下滑鼠右鍵就能開始查詢了





Visual Studio Code 超簡單切換為繁體中文語系

Ctrl + Shift + P 輸入 lang 選擇 Configure Display Language
點選 Install additional language
選擇繁體中文語言包

安裝完畢重開就是繁體中文語言了。


Release 版本編譯錯誤:工作無法使用 SdkToolsPath 的解決方法....

錯誤:

工作無法使用 SdkToolsPath

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\"

或登錄機碼

"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\NETFXSDK\4.7.2\WinSDK-NetFx40Tools-x86"

找到 "sgen.exe"。
請確認已設定 SdkToolsPath、工具位於 SdkToolsPath 底下的正確處理器專屬位置,且已安裝 Microsoft Windows SDK

只要「關閉」掉「產生序列化組件」就能編譯成功。


2019年2月28日 星期四

WSL 安裝 Visual Studio Code 記錄筆記

去官網下載 .deb 安裝檔
https://code.visualstudio.com/download

使用 dpkg 指令安裝 Visual Studio Code
sudo dpkg -i code_1.31.1-1549938243_amd64.deb

如果發生錯誤訊息:
dpkg: dependency problems prevent configuration of code:
 code depends on libnotify4; however:
  Package libnotify4 is not installed.
....
 code depends on libxss1; however:
  Package libxss1 is not installed.

dpkg: error processing package code (--install):
 dependency problems - leaving unconfigured
Processing triggers for mime-support (3.60ubuntu1) ...
Errors were encountered while processing:
 code

先執行 sudo su 換 root 權限
輸入
sudo apt update
sudo apt-get -f upgrade
執行更新一下

再安裝相關依賴的函示庫
sudo apt install libnotify4 libnss3 libxkbfile1 libsecret-1-0 libgtk-3-0 libxss1

再輸入一次安裝 Visual Studio Code
sudo dpkg -i code_1.31.1-1549938243_amd64.deb
應該是就安裝成功了(到這一步,我安裝成功了)

輸入 code 執行 Visual Studio Code
如果發生錯誤訊息:
/usr/share/code/bin/../code: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory

輸入
sudo apt-get install libxss1

如果還是一樣發生錯誤,可以試試輸入
sudo apt-get install gconf-service libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxss1 libxtst6 libappindicator1 libnss3 libasound2 libatk1.0-0 libc6 ca-certificates fonts-liberation lsb-release xdg-utils wget

安裝完

輸入 code --version 測試 Visual Studio Code 是否安裝成功!







顯示版本號,安裝成功!

2019年2月26日 星期二

ASP.NET Core (包含 .NET Core)如何超簡單讀取客制化 json 檔案

利用 ConfigurationBuilder 就可以讀取客制化的 Json 檔案

                // 讀取客制化 Json 檔案
                // Json 檔案格為 appsettings.[目前組態].json
                string appsettingJson_ = $"appsettings.{DebuggingProperties.Config}.json";

                // 讀取目錄內客制化的 Json 檔案
                _config = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile(appsettingJson_, optional: true)
                .Build();

DebuggingProperties.Config 的原理可以參考這篇:怎樣判斷 .NET Core (包含 ASP.NET Core)是 Debug 或 Release ?

Visual Studio 2017/2019 推薦的擴充功能與更新

參考文章: 覺得 Google 的 Blogger 不太順手?透過 HTML 的 iframe 移花接木 HackMD