我刚开始试用新的 MS Enterprise Library 6.0 Logger 块。当我尝试创建 LogWriter 时,出现错误:
无法解析符号“EnterpriseLibraryContainer”
我有所有的参考和使用,但无法克服这个错误。
这个问题有解决方案吗?
我刚开始试用新的 MS Enterprise Library 6.0 Logger 块。当我尝试创建 LogWriter 时,出现错误:
无法解析符号“EnterpriseLibraryContainer”
我有所有的参考和使用,但无法克服这个错误。
这个问题有解决方案吗?
哈利路亚!我刚刚找到了一个帖子(在一个已经消失的链接上)。这是故事:
Enterprise Library 版本 6 中所有块的引导代码都已更改。这些块不再使用 Unity 来管理初始化和配置,每个块现在都包含自己的引导代码。对 EnterpriseLibraryContainer.Current.GetInstance 方法的任何调用以从 Enterprise Library 块之一解析类型都应替换为块特定的引导代码。例如,要根据 app.config 文件中的配置创建 LogWriter 实例,您现在可以使用以下代码:
LogWriterFactory logWriterFactory = new LogWriterFactory();
var logWriter = logWriterFactory.Create();
我相信这个简介来自“Microsoft Enterprise Library 6 and Unity 3 Migration Guide”。
我已经输入了如图所示的代码并且没有编译器抱怨。现在我可以继续查看日志记录是如何工作的。
是的,即使我在使用 Ent Lib 6.0 为 ValidationFactory 创建对象时也遇到了问题。有关创建 ValidationFactory 实例的信息,请参见以下代码:
private Validator<Customer> customerValidator;
customerValidator = ValidationFactory.CreateValidator<Customer>();
现在不需要这个
EnterpriseLibraryContainer.Current.GetInstance<ValidatorFactory>()