0
我的應用程序(純DotNET 2.0)引用另一個純粹的DotNET 2.0 dll,它將PInvoking引入非託管(C++ 2005)dll。在某些計算機上這工作得很好,對別人有一個一致的錯誤消息:程序集清單加載錯誤(.NET和C++ dll)
Could not load file or assembly
'C:\Program Files\Rhinoceros 4.0\Plug-ins\Grasshopper\rhcommon_c.dll' or one of its dependencies.
The module was expected to contain an assembly manifest.
Assembly Manifest Error http://en.wiki.mcneel.com/content/upload/images/AssemblyManifestError.png
我一直在谷歌上搜索這個錯誤,但似乎其他人都跑了進去,因爲他們有多個文件名稱相同。這裏不是這種情況。只有一個RhinoCommon.dll,並且只有一個rhcommon_c.dll
計算機安裝了最新的Microsoft C Runtime。
非常感謝, 大衛
編輯: 錯誤消息是錯誤的。這實際上是另一個缺失的dll。很奇怪DotNET對此感到困惑。
我做了,它發現2缺少延遲加載依賴關係:(http://en.wiki.mcneel.com/content/upload/images/DependencyWalkerGR.JPG) 當我在計算機上運行相同的測試工作正常,我得到一個(不同)缺少的依賴關係(IESHIMS.DLL) 此信息是否重要? – 2009-10-14 22:45:27
我實際上並不認爲有丟失的dll。加載現有的dll是一個問題。讓我對這個特定錯誤感到困惑的是,它正在C++的dll上尋找Assembly Manifest。我在印象中只有DotNET dll包含程序集清單。 – 2009-10-14 22:48:23