.NET FRAMEWORK类的怪异问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:40:43
我开发了一个.NET程序。当我把程序移植到另一台机器时(那机器已经装了.NET FRAMEWORK3.5环境),竟然跳出异常,说“没有COM组件支持该图像处理”。经调试,发现程序执行到以下语句时抛出异常:
TiffBitmapDecoder decoder = new TiffBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

我无论查MSDN还是查网络,都没有提到这种异常。究竟这种异常是怎么回事呢?该如何解救?
我用ACDSee可以查看这些TIFF文件,但若把ACDSee卸载掉,则无法用系统默认的图片查看器直接查看这些TIFF文件。

com组件,你可以在控制面板里的组件服务里查找。这个都不是什么异常啦,现在的更新包为了安全经常会把一些组件关闭,必须要了解这些的计算机人员手动打开。很正常,你可以在事件查看器里看看哪个组件被关了

比如我的电脑上事件查看器的“系统”里经常有这个:应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为
{0C0A3666-30C9-11D0-8F20-00805F2CD064}
)的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。

这个是可以修复的错误,但是为了安全,而且我的电脑不做服务器方面的东西,我没修复,你要是有需要,可以在网上搜索解决办法

注意看到没::::“可以使用组件服务管理工具修改此安全权限。”至于组件服务管理工具你会不会用我就不清楚了

2009-09-16 补充:你把TIFF换成BMP图片应该就没问题~~~~~

TiffBitmapDecoder 实际是.NET封装了 COM 功能,使用的是操作系统自带的 TIFF 功能,也就是类XP系统里的 图片浏览器 的功能。

你的问题,应该是你所处理的图片,本身有问题, 或者 这个操作系统,本身不能处理 TIFF 文件, 你直接用系统预览,可以查看要处理的 TIFF图片吗?

1。运行comexp.msc
2。打开 组件服务--〉电脑--〉我的电脑--〉COM+应用
看COM+组件是否可用。如果不可用就在网上搜索解决办法。