我試圖創造一個我訂閱的實現與陣列麥克風語音識別的例子Kinect的DSS生成的事件很簡單的Microsoft DSS計劃。但是,在運行時出現下面的錯誤。嘗試使用Kinect的爲Windows使用C#,但我得到System.BadImageFormatException
我引用了公開接口代理.dll文件,但在運行時出現問題。
我已經盡我的構建目標平臺設置爲86,但似乎並沒有解決問題。有沒有一種方法可以驗證我的項目是針對x86構建的?
無法註冊類型的自定義序列:System.BadImageFormatException:
無法加載文件或程序集「文件:/// C:\用戶\ AJS \微軟機器人dev的工作室 4 \ BIN \ micarrayspeechrecognizer .y2011.m06.dll「或它的一個依賴項。嘗試使用 加載格式不正確的程序。文件名:'file:/// c:\ users \ ajs \ microsoft robotics dev studio 4 \ bin \ micarrayspeechrecognizer.y2011.m06.dll'at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark & stackMark,IntPtr的 pPrivHostBinder,布爾throwOnFileNotFound,布爾forIntrospection,布爾 suppressSecurityChecks)在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName assemblyRef, 證據assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark & stackMark,IntPtr的 pPrivHostBinder,布爾throwOnFileNotFound,布爾forIntrospection,布爾 蘇ppressSecurityChecks)在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName assemblyRef, 證據assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark & stackMark,布爾 throwOnFileNotFound,布爾forIntrospection,布爾suppressSecurityChecks)在 System.Reflection.RuntimeAssembly.InternalLoadFrom(字符串assemblyFile,證據 securityEvidence,字節[]散列值,AssemblyHashAlgorithm的HashAlgorithm,布爾 forIntrospection,布爾suppressSecurityChecks,StackCrawlMark & stackMark)處 Microsoft.Dss.Services.Serializer.DataCache.LoadAssemblyFile System.Reflection.Assembly.LoadFrom(字符串assemblyFile)(URI位置,布爾緩存, 布爾& inCache)在 Microsoft.Dss.Services.Serializer.DataCache.RegisterCustomSerializersFromServiceAssembly(如 sembly PA,AssemblyLocations位置)===預綁定狀態信息=== LOG:用戶= 禿鷹\ AJS LOG:凡 - ref綁定。位置= C:\用戶\ AJS \微軟機器人工作室開發4 \ BIN \ micarrayspeechrecognizer.y2011.m06.dll LOG:應用平臺=文件:/// C:/用戶/ AJS /微軟 機器人開發工作室4 /斌/日誌:初始PrivatePath = NULL調用程序集:(未知)。 === LOG:該綁定在LoadFrom加載上下文中開始。警告:本地映像將不會在 LoadFrom上下文中進行探測。本機映像只能在默認加載上下文中進行探測,如使用Assembly.Load()與 一樣。日誌:正在使用應用程序配置文件:C:\用戶\ AJS \微軟機器人 開發工作室4 \ BIN \ DssHost.exe.Config LOG:使用主機配置文件:LOG:從 C使用機器 配置文件:\ WINDOWS \微軟.NET \ Framework64 \ v4.0.30319 \ CONFIG \ machine.config中。日誌:嘗試新的URL文件的 下載:/// C:/用戶/ AJS /微軟機器人工作室開發4 /斌/ micarrayspeechrecognizer.y2011.m06.dll。 ERR:未能完成裝配安裝(hr = 0x8007000b)。探測終止。
如果您需要幫助,我們需要導致異常的代碼。我假設你使用的是Kinect SDK的最新版本。 –
如果將項目設置爲顯式構建爲x86或x86_64,會發生什麼情況? – PhonicUK
實際上導致異常的代碼位於dsshost.exe中,它初始化DSS服務。上述異常出現在來自dsshost的警告行之後:「***無法註冊具有自定義序列化的類型:」 – OregonTrail