C# 通过AssemblyResolve加载程序集时抑制控制台输出

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

我有一个命令行应用程序,我想在我的应用程序目录之外的一些路径上加载一些DLL。我可以通过添加自己的ResolveEventHandler成功地完成这项工作。但是,我在控制台中得到了不需要的输出,如下所示:

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);
您可以使用保存原始文件,以便重新启用

获取标准输出流


注意:这是未经测试的,只能通过文档找到

是的,快速测试确实表明这会起作用。非常感谢。