2010-03-14 56 views
2

我在MS Server 2003 64位上的Microsoft Visual C#2008速成版中創建(並使用了)Windows Media編碼器對象。這工作得很好。在MS Server 2003上的ASP.NET中未創建Windows Media編碼器對象64位

然而,當我試圖創建使用Microsoft的Visual Web Developer 2008 MS服務器上的等效的Windows Media編碼器對象2003 64位,以下異常被拋出:

「檢索COM類工廠CLSID組件{632B606A-BBC6-11D2-A329-006097C4E476}由於以下錯誤而失敗:80040154.「

它不能是組件未註冊,因爲它們都對同一個WMEncEng.dll文件有引用。 Microsoft Visual Web Developer 2008代碼在XP 32位上也能正常工作。

它可能是一個權限問題?無論如何,任何人有任何想法爲什麼會發生這個問題,更重要的是,如何解決它?

謝謝。

下面是MS服務器的兩個代碼段2003 64位:

微軟的Visual Web開發人員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; 
      } 

     } 
    } 
} 

回答

0

我在「WMEncoder encoder = new WMEncoder();」中得到此錯誤「代碼爲x86目標編譯,但在x64系統上運行。如果可能,嘗試將VWD中的目標系統設置爲「任何CPU」。

相關問題