8

我刚开始试用新的 MS Enterprise Library 6.0 Logger 块。当我尝试创建 LogWriter 时,出现错误:

无法解析符号“EnterpriseLibraryContainer”

我有所有的参考和使用,但无法克服这个错误。

这个问题有解决方案吗?

4

2 回答 2

9

哈利路亚!我刚刚找到了一个帖子(在一个已经消失的链接上)。这是故事:

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”。

我已经输入了如图所示的代码并且没有编译器抱怨。现在我可以继续查看日志记录是如何工作的。

于 2013-05-01T17:42:45.673 回答
1

是的,即使我在使用 Ent Lib 6.0 为 ValidationFactory 创建对象时也遇到了问题。有关创建 ValidationFactory 实例的信息,请参见以下代码:

private Validator<Customer> customerValidator;
customerValidator = ValidationFactory.CreateValidator<Customer>();

现在不需要这个

EnterpriseLibraryContainer.Current.GetInstance<ValidatorFactory>()
于 2013-06-06T15:25:55.783 回答