我對C#編程有點新,我希望得到您的幫助。部署.NET COM dll時,在另一臺計算機上使用時出現問題
快速回顧我必須先做的事情。
我要創建: - 產生幾個.h5文件(HDF5格式)和一個XML文件 一個DLL - 一個WPF觀衆對於那些寫在這些HDF5文件中的圖表。
問題主要在於它們將以一種非常受限制的方式在名爲PanoramaE²的軟件中使用,該軟件基本上管理DLL。例如,它不允許.NET Framework 4(這使我使用框架的3.5版本)。
在全景更多信息:http://uk.codra.net/panorama/panorama-e2-information-system
我使用HDF5DotNet.dll,我在64位編譯爲.NET 3.5,DynamicDataDisplay我的WPF應用程序。
所有我的DLL將被另一臺計算機使用,其中安裝了Panorama,並且Visual Studio不在其中(只有3.5 .NET框架和一些必需的工具)。
什麼問題?
那麼,首先,我的WPF應用程序不是真正的一個,Panorama似乎不支持WPF,只支持Windows窗體,並且只能作爲DLL。這意味着我創建了一個WPF UserControl,並將其嵌入到Windows Form DLL中。
我基本上有2個DLL,一個是WPF控件,另一個是在Winform中使用這個控件。這是我必須在Panorama中集成的最後一個。在我的計算機上,我使用的是編碼器,Panorama能夠正確識別DLL並且沒有問題。
但是,當我嘗試給這些DLL給我的同事,與他沒有安裝Visual Studio的Panorama,它不起作用。經過一些測試後,我發現只有在同一臺計算機上編譯了項目(DLL)才能正常工作。
同樣的問題發生在另一個創建文件的DLL上。正如我所說的,它使用HDF5DotNet.dll,但它似乎沒有正確創建它。我想這是同樣的問題,DLL無法識別。
我試過了。
我以爲可能DLL沒有正確導出。也許沒有給出所引用的DLL或程序集,這些是在同一臺計算機上編譯的。它們是COM DLL,因爲它們在Panorama中使用,我無法正確導出它們。
我試着創建安裝項目,以便他們將與他們的依賴安裝,但我找不到方法。只有DLL被安裝。我試着用DependancyWalker查看我的DLL,並且有一些依賴關係丟失的地方。即使我嘗試手動添加它們,也沒有任何變化。
我也知道regsvr32不能用於.NET DLL,因爲沒有入口點。這就是爲什麼我想到GAC,但我無法設法註冊它們(具有強大的名稱和所有內容),因爲我無法直接生成它們。
所以是的,對於長篇帖子感到抱歉,我試圖解釋我的想法和我實際嘗試做的事情,但是我無法找到一種方法將我的項目交給我的同事,以便他可以使用他們在他的電腦上。
您聽起來非常迷茫,無法爲問題收集足夠有用的證據。顯然你需要供應商的幫助。 –