C# 通过AssemblyResolve加载程序集时抑制控制台输出
我有一个命令行应用程序,我想在我的应用程序目录之外的一些路径上加载一些DLL。我可以通过添加自己的ResolveEventHandler成功地完成这项工作。但是,我在控制台中得到了不需要的输出,如下所示:C# 通过AssemblyResolve加载程序集时抑制控制台输出,c#,dll,.net-assembly,C#,Dll,.net Assembly,我有一个命令行应用程序,我想在我的应用程序目录之外的一些路径上加载一些DLL。我可以通过添加自己的ResolveEventHandler成功地完成这项工作。但是,我在控制台中得到了不需要的输出,如下所示: Checking for existing AssemblyResolve handler Removed existing AssemblyResolve handler 如何抑制此输出 以下是我当前的代码: static Assembly LoadPrereq(object sender
Checking for existing AssemblyResolve handler
Removed existing AssemblyResolve handler
如何抑制此输出
以下是我当前的代码:
static Assembly LoadPrereq(object sender, ResolveEventArgs args)
{
if (args.Name.StartsWith("DebugDiag.DotNet"))
return Assembly.LoadFile("C:\\Program Files\\DebugDiag\\DebugDiag.DotNet.dll");
return null;
}
...
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(LoadPrereq);
也许这会有帮助
将Out属性设置为TextWriter对象的目标
为此,您可以调用以下命令来禁用它
Console.SetOut(TextWriter.Null);
您可以使用保存原始文件,以便重新启用
获取标准输出流
注意:这是未经测试的,只能通过文档找到是的,快速测试确实表明这会起作用。非常感谢。