2019年5月8日 星期三

ASP.NET Core 的內建 DI

以讀取預設的 appsetting.json 為例
  1. {
  2. "Logging": {
  3. "LogLevel": {
  4. "Default": "Warning"
  5. }
  6. }
  7. }
  8.  
  9.  
建立存放 appsetting.json 的類別 MySetting.cs
  1. public class MySetting
  2. {
  3. public Logging Logging { get; set; }
  4. }
  5. public class Logging
  6. {
  7. public LogLevel LogLevel { get; set; }
  8. }
  9. public class LogLevel
  10. {
  11. public string Default { get; set; }
  12. }
  13.  
  14.  
在 Startup.cs 的 ConfigureServices 中註冊
  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. services.Configuremysetting>(Configuration);
  4. services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
  5. }
  6.  
  7.  
在 Controller 中使用 IOptions <mysetting>注入
  1. public class HomeController : Controller
  2. {
  3. private IOptionsmysetting myOption;
  4. public HomeController(IOptionsmysetting _option)
  5. {
  6. myOption = _option;
  7. }
  8. }
  9.  
  10.  

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

新增 NuGet  後出現編譯警告

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

只要在 *.csproj 內加入
  1.  
  2. // '<'與'>'被改成全形了,記得改回來半形
  3. autogeneratebindingredirectstrue</autogeneratebindingredirects
  4.  
  5.  
警告就消失了

超簡單 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」可以看到編譯結果的紀錄




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

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