我有一个用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
任何提示?
答案 0 :(得分:0)
有必要将System.Core.dll
添加到DLL列表中,如下所示
CompilerParameters cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("System.Core.dll");
CompilerResults cr = provider.CompileAssemblyFromSource(cp, SourceCode);