前幾天做一個項目,發生一個奇怪的錯誤
System.InvalidOperationException:“A suitable constructor for type 'MyApp.OptionMethodSetting' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.”
通常情況下這是由於依賴注入的實現無法訪問到造成的,可是實際看了代碼,該訪問的都是public,而且這段代碼是從另一個項目帶過來的,另一個項目跑的好好的,這還真是奇怪了。
中間折騰了半天,發現是由於這個中間件有一個參數傳遞了null造成的。
就是這個罪魁禍首。
怎么會傳null呢?
項目是拷過來的,所以很多這邊用不上的配置,就刪除了,結果導致這個也在appsetting.json里被誤刪了,結果導致讀取時不存在,傳遞了null
這個是禍根。
記錄下,備忘。下次發生這樣的問題的時候,查下是不是參數有問題。