【发布时间】:2022-01-15 15:33:50
【问题描述】:
我创建了一个在 .Net Framework 4.7.2 下运行的空 Web 表单应用程序,并创建了一个 Web 表单和一个名为 MyClass 的类:
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string GetText()
{
return "Message of Web Form 1";
}
}
}
和:
namespace WebApplication1
{
public class MyClass
{
public string GetText()
{
return "Message from MyClass";
}
}
}
我使用“将所有程序集合并到一个程序集中”选项发布它:
然后我想获取类型,然后创建WebForm1 和MyClass 的实例。
我在一个控制台应用程序中编写了这段代码,该应用程序在 .Net 5:
Assembly asm = Assembly.LoadFrom(@"C:\Pub\bin\WebApplication1.dll");
Type tMyClass = asm.GetType("WebApplication1.MyClass");
Type t = asm.GetType("WebApplication1.WebForm1"); <----Error
代码运行后,tMyClass 的类型正确:
]
但是当我尝试获取WebForm1 的类型时,我得到一个错误:
System.TypeLoadException:'无法从程序集'System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'加载类型'System.Web.UI.Page'。'
如何获取WebForm1 的类型并创建它的实例?
【问题讨论】:
标签: c# .net .net-core reflection c#-7.0