2014-11-06 44 views
-1

我有一個用C#編寫的Web應用程序插件。當它被應用程序調用時,插件程序集不能被編譯。無法編譯自定義插件程序集

我發現問題的關鍵,但IDNK如何解決它。

代碼

using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Web.UI; 
using System.Web; 
using System.Linq; 

namespace App.plugins 
{ 
    public class ThePlugin 
    { 
     public string ToHtml(){...} 
    } 
} 

當我忽略using System.Linq;插件編譯成功。我還檢查了IIS加載的程序集,並且System.Core(包含System.Linq)在列表中。

編輯:

如何

CompilerResults cr = provider.CompileAssemblyFromSource(cp, SourceCode); 

獲得:錯誤,告訴我在系統命名空間名稱不存在類型或命名空間的LINQ(錯誤號#CS0234)

框架.NET FrameWork 4.5

任何提示?

+0

「插件組件不能編譯」 - 所以什麼不順心?你觀察到什麼?應用程序如何編譯插件?你使用的是什麼版本的.NET? *所以*這裏缺少很多信息... – 2014-11-06 13:24:53

回答

0

有必要添加System.Core.dll到DLL列表如下

CompilerParameters cp = new CompilerParameters(); 
cp.ReferencedAssemblies.Add("System.Core.dll"); 
CompilerResults cr = provider.CompileAssemblyFromSource(cp, SourceCode);