2011-04-02 57 views
1

我有一年左右的舊應用程序,它使用Expression Encoder 3生成縮略圖。很少有用戶抱怨他們收到以下例外情況:MS Expression Encoder SDK中的一個程序集無法解析

無法加載文件或程序集「Microsoft.Expression.Encoder.Utilities.dll」或其某個依賴項。此應用程序無法啓動,因爲應用程序配置不正確。

該應用程序本身包含安裝程序中所需的EE3程序集,因此不需要此類表達式編碼器的安裝。

所有這些崩潰啓動的應用程序升級到.NET 4

什麼可能發生的任何線索後,會出現?

[編輯]能夠重現我們的本地系統之一的問題。我們做了一個乾淨的Windows XP安裝。安裝.net 4,然後我們的應用程序。它墜毀了同樣的例外。我們可以通過安裝.net 3.5來解決這個問題!

我很快point fingers以.net 4向後兼容。

所以問題依然存在:關於可能發生什麼的任何線索?

回答

1

根據this question這似乎是EE3本身的一個問題,因爲它需要安裝EE(通過安裝程序)才能正常工作。

很遺憾,對於EE4,根據this thread,由於編解碼器許可證問題,這似乎也是這種情況。

對不起:/

你有沒有看MediaFoundation?它可能會作爲替代品,儘管我從未使用過它。

+0

我們設法通過檢查各種dll之間的依賴關係並獲得大約六個EE3 dll的關閉。到現在爲止,我們的應用程序已經遷移到.net 4,它已經工作了一年多了。它仍然適用於所有安裝了.net 3.5的用戶。 – Trainee4Life 2011-05-18 18:31:26

+0

在附註上,我做了一個有趣的觀察。即使在卸載除.net 4之外的所有.net框架之後,我也無法在我們的任何一臺機器上重現崩潰。它僅在我的問題中提到的Windows XP全新安裝的計算機上再現。 – Trainee4Life 2011-05-18 18:34:36

+1

所有這些DLL都管理? .net 3.5還依賴於VC++庫,或許它實際上是EE依賴的那些庫。這也可以解釋爲什麼它在卸載.net 3.5時仍然有效。我試着用[Dependecy walker](http://dependencywalker.com/)來查看dll並查看是否在那裏找到任何有問題的VC++ dll,它們通常被稱爲mscvr或類似的東西。 – aL3891 2011-05-18 18:41:47

0

我有類似的問題,它不適用於Windows7 64位服務器。

這裏的一些事情,我已經學會:

  • 您必須修改項目的構建設置,使其具有「86」的目標平臺。

  • 您必須確保在目標機器上啓用了「桌面體驗」功能。見this blog