c# - Windows Media 编码器对象不是在 MS Server 2003 64 位上的 ASP.NET 中创建的

标签 c# asp.net 64-bit windows-media-encoder

我在 64 位 MS Server 2003 上的 Microsoft Visual C# 2008 Express Edition 中创建(并使用)了一个 Windows Media Encoder 对象。这很好用。

但是,当我尝试在 MS Server 2003 64 位上使用 Microsoft Visual Web Developer 2008 创建等效的 Windows Media Encoder 对象时,抛出了以下异常:

“检索 CLSID 为 {632B606A-BBC6-11D2-A329-006097C4E476} 的组件的 COM 类工厂失败,原因如下:80040154。”

不可能是组件没有注册,因为两者都引用了同一个 WMEncEng.dll 文件。 Microsoft Visual Web Developer 2008 代码在 XP 32 位上也运行良好。

会不会是权限问题?无论如何,任何人都知道为什么会出现此问题,更重要的是,如何解决它?

谢谢。

以下是来自 MS Server 2003 64 位的两个代码片段:

Microsoft Visual Web Developer 2008(无法运行):

using System;
using WMEncoderLib;

namespace TestWMEnc
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                WMEncoder encoder = new WMEncoder(); //exception thrown
                // ...

            }
            catch (Exception err)
            {
                string exception = err.Message;
            }

        }
    }
}

Microsoft Visual C# 2008 Express Edition(运行良好):

using System;
using System.Windows.Forms;
using WMEncoderLib;

namespace testWMEncoder
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                WMEncoder encoder = new WMEncoder();
                // ...

            }
            catch (Exception err)
            {
                string exception = err.Message;
            }

        }
    }
}

最佳答案

我在“WMEncoder encoder = new WMEncoder();”处收到此错误为 x86 目标编译但在 x64 系统上运行的代码。如果可能,请尝试将 VWD 中的目标系统设置为“任何 CPU”。

关于c# - Windows Media 编码器对象不是在 MS Server 2003 64 位上的 ASP.NET 中创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2442348/

相关文章:

c# - 浏览器如何显示从 C# Web 服务返回的 JSON

c# - 如何在 dotnetnuke 框架中创建 Web 应用程序?

C++ 数组大小 x86 和 x64

delphi - 如何最好地证明我的应用程序需要连接到 Outlook?

c# - 具有路由属性的模糊 Controller 名称 : controllers with same name and different namespace for versioning

c# - 在任务中渲染局部 View

c# - 将对象字段的引用传递并存储到另一个对象而不进行反射

asp.net - 从 ASP Classic 迁移到 .NET 并减轻痛苦

c# - 动态生成的按钮点击没有被调用?

visual-studio-2008 - Visual Studio 2008是否可以与Windows 7 Pro 64位一起很好地工作