問題描述:為了在C#中執行js腳本,在一個目標平台編譯為Any Cpu的.NET程序集中引用了MSScriptControl組件,在winform程序中,調用這個程序集中的執行js的方法,沒有任何問題。但是在windows服務中調用卻報錯,報錯信息如下:
在嘗試過很多方法之後仍然沒有解決,包括將MSScriptControl組件的引用屬性“嵌入互操作類型”設置為false,如圖所示:
這樣子修改之後,報另外一個錯誤:
解決方案:MSScriptControl組件是32位的,所以需要將程序集的目標平台設置為X86平台,才能使用。設置如圖: