markdown
### 前言
在 ASP.NET Core 的環境, 預設早已支援 Dependency Injection (依賴注入) 的設計模式, 但在 ASP.NET MVC 5 以前的專案沒有這樣的功能, 本篇簡單介紹如何使用 Unity.Mvc 套件來達成依賴注入。
### 環境
- Visual Studio 2019 16.3.9
- ASP.NET MVC 5
- .NET Framework 4.7.2
- NuGet 套件: [Unity.Mvc](https://github.com/unitycontainer/aspnet-mvc) 5.11.1 (Author: Unity Open Source Project)
### 在專案中加入 Unity.Mvc
安裝套件完成後,會自動在 App_Start 加入 2 個檔案: `UnityConfig.cs` 及 `UnityMvcActivator.cs`
基本上所有的啟動功能它都做完了, 我們只要針對 `UnityConfig.cs` 這個檔案加入我們的註冊的類型即可
例如:
如果有忘記註冊的類型, 卻被使用到了, 即會出現以下的錯誤訊息
### 程式用法
在 constructor 使用 interface 即會自動注入對應的實體
是不是很方便呢? 前人種樹, 後人乘涼, 現在只要專注去做自己該對應的相關程式, 多餘的設定全都被妥當安排了。
不知道是不是因為它太簡單使用了, 所以專案連 README 文件都沒寫 XD。
所以寫一篇用法以備不時之需, 個人覺得這是目前用過最簡易使用的套件了, 因為幾乎無痛使用啊!!
範例程式: [UnityMvcDemo1](https://github.com/onecentlin/UnityMvcDemo1)
### 相關連結
- [Unity.Mvc](https://github.com/unitycontainer/aspnet-mvc)
2019/11/18
2019/11/16
[EF] 專案使用 Entity Framework 6.3.0 造成無法正確執行 Migration 動作
markdown
### 環境
- VS 2019 16.3.9
- Web Application (.NET Framework) 專案
- Entity Framework 6.3.0
### 問題
在新建立的 Web 專案中, 採用 Entity Framework 6.3.0 版本, 執行 migration 時出現 Path 為空值的錯誤
```
Enable-Migrations : Cannot bind argument to parameter 'Path' because it is null.
```
### 暫時解決方法
降版至 EF 6.2.0
至於修正版本, 將會在 6.4.0 時修正並釋出, 所以 6.3.0 就直接跳過不要用吧!!
### 相關連結
- [EF 6.3.0 PMC commands throw ParameterBindingValidationException when Startup Project is a Web App](https://github.com/aspnet/EntityFramework6/issues/1290)
訂閱:
文章 (Atom)