我有一个记录器,我已经注入静态类。
我希望能在所有app层中调用此类的(静态)方法。
在这里,我的业务层(可移植类),我使用普通类与静态方法,但我不能调用我的Logger,名称LOGGER在当前上下文中不存在。
我有一个对Logger项目的引用,但引用上有一个警告图标。参考的属性没有任何内容,但我确实通过单击Project然后单击包含记录器的项目来添加引用。
致电记录:
public class AnomalyBL
{
private static Container<IList<Anomaly>> MyMethod()
{
try
{
something
}
catch (Exception ex)
{
string errorMsg = string.Format("text ({0})", ex.Message);
Logger.MyLogger.LogError(ex, errorMsg);
}
return container;
}
}
记录器:
namespace Logger{
public static class MyLogger
{
public static bool LogError(Exception ex, string message = "")
{
try
{
GetLogger().Log(LogLevel.Error, ex, message);
}
catch (Exception exception)
{
return false;
}
return true;
}
}
}
提前致谢
答案 0 :(得分:2)
有几个原因导致参考可能无效并且具有该警告图标: 首先尝试删除引用,然后再次添加:假设您有项目A应该引用包含Logger的项目B.在解决方案资源管理器中,在项目A中右键单击引用 - &gt;添加参考 - &gt;解决方案 - &gt; B项目
如果新引用仍显示警告,则应该出现以下问题: 项目B中的.net版本高于A, 或者平台不匹配,例如项目B的目标.Net框架和A是一个silverlight项目。 在错误窗口中,单击警告图标以查看警告,应该有一个解释无法从A引用项目B的原因