AutoMapper升級至4.1.1後專案無法編譯
早上升級專案 AutoMapper 套件到最新版(4.1.1)後,發現專案無法通過編譯,查看錯誤訊息,看來是 AutoMapper 4.1.1 的屬性有些改變。
Profile.ProfileName
錯吳訊息
'xxx.ProfileName': cannot override inherited member 'Profile.ProfileName' because it is not marked virtual, abstract, or override
很明顯,新版本改變了 ProfileName 的存取方式,查詢AutoMapper Releases沒查到什麼有用的資訊。
按下F12查詢 Profile 類別的定義:
ProfileName 屬性僅能 get,再看看建構式,解法很明顯了:
public AtoB()
: base("xxx")
{ }
//public override string ProfileName
//{
// get
// {
// return "xxx";
// }
//}
將原本覆寫 ProfileName 屬性改成由 base() 傳遞給父類別。小怪一隻,打完結案。


感謝 Bruce 大大的分享
回覆刪除說明書沒寫只能跳坑硬扛XDD
回覆刪除錯,有 Source Code 自己看 XD
刪除在 4.2.1版, 這個問題似乎沒了..
回覆刪除看了一下Source Code:
public virtual string ProfileName { get; }
加入了 virtual ...