[DLL執行出錯]

WEBAPI ERROR - Exception has been thrown by the target of an invocation.

2 DLL ERROR -

1. System.Exception: 'Error parsing column 9 (safety= - String)'

2. DLL ERROR - 無法載入組件 [ Newtonsoft.Json ] ,版本不符

WEB API ERROR - Exception has been thrown by the target of an invocation.

中文

有兩個DLL 出現如上錯誤:

1. DLL ERROR - System.Exception: 'Error parsing column 9 (safety= - String)'

其實這就是一般的程式BUG... 改好就好了。

2. DLL ERROR - 無法載入組件 [ Newtonsoft.Json ] ,版本不符

這就是說,DLL本身標記的組件 [ Newtonsoft.Json ] [V6.0.0.0] 和網頁執行時的組件 [ Newtonsoft.Json ] [版本好像是 11.0.1]   版本不符合

所以,只要把組件的版本統一起來就可以啦,建議是用最新版。

網頁執行時會去取哪裡的組件? API_Handler.ashx 網頁執行時載入組件的那個 BIN 路徑。

成功畫面

附上程式碼

using System.Web;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Plugin2
{
    public class PluginClass
    {
        public void Execute(HttpContext context)
        {
            JObject jObject = new JObject();
            jObject.Add("Result", "true");
            jObject.Add("Message", "");
            context.Response.Clear();
            context.Response.ContentType = "application/json; charset=utf-8";
            context.Response.Write(JsonConvert.SerializeObject(jObject));            
        }
    }
}

如何對 DLL檔 偵錯?

              把.cs檔放在 [ 放置 DLL 的資料夾 ] 中。參考 https://dotblogs.com.tw/jimmyyu/2010/04/02/can-i-debug-without-full-source-code