自定义插件程序集无法编译

时间:2014-11-06 13:20:43

标签: c# asp.net reflection iis-7 .net-assembly

我有一个用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)

FrameWork .NET FrameWork 4.5

任何提示?

1 个答案:

答案 0 :(得分:0)

有必要将System.Core.dll添加到DLL列表中,如下所示

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