Объект Windows Media Encoder не создан в ASP.NET на MS Server 2003 64 бит
Я создал (и использовал) объект Windows Media Encoder в Microsoft Visual C# 2008 Express Edition на MS Server 2003 64 бит. Это работало нормально.
Однако при попытке создать эквивалентный объект кодировщика Windows Media с помощью Microsoft Visual Web Developer 2008 на 64-разрядной версии MS Server 2003 возникло следующее исключение:
"Не удалось получить фабрику класса COM для компонента с CLSID {632B606A-BBC6-11D2-A329-006097C4E476} из-за следующей ошибки: 80040154".
Не может быть, чтобы компонент не был зарегистрирован, потому что оба имеют ссылку на один и тот же файл WMEncEng.dll. Код Microsoft Visual Web Developer 2008 также отлично работал на 32-разрядной версии XP.
Может ли быть проблема с разрешениями? Независимо от того, у кого-нибудь есть идеи, почему эта проблема возникает и, что более важно, как ее решить?
Спасибо.
Вот два фрагмента кода из 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;
}
}
}
}
1 ответ
Я получаю эту ошибку в "WMEncoder encoder = new WMEncoder();" с кодом, скомпилированным для цели x86, но работающим в системе x64. Попробуйте установить целевую систему в VWD на "Любой процессор", если это возможно.