我正在创建网站,其中我使用日志解析器来解析某种日志。我在我的机器上安装时只能使用日志解析器。在没有安装日志解析器的情况下在另一台机器上运行我的项目时,我得到以下异常
我可以在我的安装文件夹(程序文件)中看到logparser.dll,但我无法引用此DLL。它显示错误,它是无效的程序集或COM组件。请参阅我的屏幕截图
如何在不安装日志解析器Exe的情况下在任何计算机上运行我的项目?请帮帮我?
答案 0 :(得分:3)
我可能对我添加适当的dll的评论有点不清楚,所以我再试一次:
LogParser是在2005年编写/上次更新的,这就是为什么它只提供对COM样式部署的支持。要执行此操作,请安装LogParser,然后在Visual Studio解决方案中转到参考 - >右键单击以添加引用 - > COM并检查" MS Utility 1.0类型库 - 记录解析器接口"。确保文件版本与您的LogParser版本(2.2.10.0)匹配。执行此操作后,解决方案的引用部分应包含名为MSUtil的条目。在那个条目集"嵌入互操作类型"如果您使用的是C#4.0或更高版本,则为true,否则设置正确的部署选项(复制等)。
如果您使用的是C#4.0或更高版本,则还必须更改实例化类的方式,因为嵌入式类型不需要COM以前使用的"类" - 注释。这意味着您必须从init-code中删除一个类,这意味着
COMFileSystemInputContextClass inputFormat = new COMFileSystemInputContextClassClass();
变成
COMFileSystemInputContextClass inputFormat = new COMFileSystemInputContextClass();
等等。我只是尝试了这个并让它运行。