I am using ILogger in my static class.
The codes in the class shown in below:
internal static class LicenceSetter
{
private static ILogger _logger;
internal static void WorkWithStream(Action<Stream> setLicence, string name = null)
{
try
{
Assembly assembly = Assembly.GetExecutingAssembly();
var declaringType = MethodBase.GetCurrentMethod().DeclaringType;
Debug.Assert(declaringType != null, "declaringType != null");
name = name ?? $"{declaringType.Namespace}.{AsposeTotalLic2017FileName}";
using (Stream stream = assembly.GetManifestResourceStream(name))
{
setLicence(stream);
}
}
catch (Exception exception)
{
_logger.LogError(exception,"Error loading embedded resource for aspose licence");
Trace.TraceError("Error loading embedded resource for aspose licence");
throw;
}
}
}
But I get this error while building the application: Readonly field _logger is never assigned
I don't see where your logger is being assigned in that class. You may be getting a null reference exception by accessing the object.