【发布时间】:2021-10-17 03:03:01
【问题描述】:
在 NET Core 3.1 中
Assembly.Load(Assembly) 的返回值如何永远不会为空?我收到的代码提示是表达式 (Assembly.Load(Assembly) != null) 始终为真。 Assembly 是引用类型吗?
if (env.IsDevelopment())
{
var appAssembly = Assembly.Load(new AssemblyName(env.ApplicationName));
if (appAssembly != null)
{
config.AddUserSecrets(appAssembly, optional: true);
}
}
【问题讨论】:
-
它看起来(从文档和你的波浪线)它要么返回一个有效的程序集,要么它会抛出一个异常。请注意,它可能会抛出一系列异常
-
您使用的是哪个 IDE?我无法在我的 VS(without resharper) 中得到这个,尽管 Rider 报告了它。
-
至于为什么——可能是因为如果返回的程序集只有在加载失败的情况下才能为空,这将导致异常。
-
我使用 Resharper
标签: c# .net-core-3.1