CompilerParameters.ReferencedAssemblies — Add reference to System.Web.UI.WebControls
I am compiling classes at run-time using the CodeDomProvider
class. This works fine for classes only using the System
namespace:
using System;
public class Test
{
public String HelloWorld()
{
return "Hello World!";
}
}
If I try to compile a class using System.Web.UI.WebControls
though, I get this error:
{error CS0006: Metadata file 'System.Web.UI.WebControls' could not be found}
System.CodeDom.Compiler.CompilerError
Here's a snippet of my code:
var cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("System.Web.UI.WebControls");
How do I reference the System.Web.UI.WebControls
namespace?
如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

评论(3)

This proved to be a little less brute force in my case. I was building an addin and there were 730 assemblies loaded in the current domain so there was major lag involved.
var assemblies = someType.Assembly.GetReferencedAssemblies().ToList();
var assemblyLocations =
assemblies.Select(a =>
Assembly.ReflectionOnlyLoad(a.FullName).Location).ToList();
assemblyLocations.Add(someType.Assembly.Location);
cp.ReferencedAssemblies.AddRange(assemblyLocations.ToArray());

发布评论
需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。