簡體   English   中英

無法從另一台計算機加載DLL

[英]Cannot load dll from another computer

我有從另一台計算機加載DLL的問題。 它從我的工作站加載非常好但是當我嘗試從沒有安裝Visual Studio的另一個系統測試它時,我得到以下異常:

日期 - 2012年5月10日12:01:48.0725000 - 調用目標拋出了異常。 日期 - 2012年5月10日12:01:48.0881250 - System.IO.FileNotFoundException:無法加載文件或程序集'System.Xml.Linq,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依賴項之一。 該系統找不到指定的文件。 文件名:'System.Xml.Linq,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'ZENNLNGLIB.Process.ReadConfigFile()at ZENNLNGLIB.Process.ProcessFile(String fileName)

程序集管理器從以下位置加載:C:\\ WINDOWS \\ Microsoft.NET \\ Framework \\ v2.0.50727 \\ mscorwks.dll在可執行文件C下運行:\\ Documents and Settings \\ Administrator \\ Desktop \\ NLNG.Encryption \\ NLNG.Encryption \\ bin \\ Debug \\ NLNG .Encryption.exe ---下面是一個詳細的錯誤日志。

===預綁定狀態信息=== LOG:User = WS001ITS106 \\ Administrator LOG:DisplayName = System.Xml.Linq,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089(完全指定)LOG:Appbase = file:/// C:/ Documents and Settings / Administrator / Desktop / NLNG.Encryption / NLNG.Encryption / bin / Debug / LOG:Initial PrivatePath = NULL調用程序集:ZENNLNGLIB,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = NULL。 ===日志:此綁定在LoadFrom加載上下文中啟動。 警告:不會在LoadFrom上下文中探測本機映像。 原生圖像只能在默認加載上下文中進行探測,就像使用Assembly.Load()一樣。 日志:找不到應用程序配置文件。 日志:使用C:\\ WINDOWS \\ Microsoft.NET \\ Framework \\ v2.0.50727 \\ config \\ machine.config中的計算機配置文件。 日志:后策略引用:System.Xml.Linq,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089日志:嘗試下載新的URL文件:/// C:/ Documents and Settings / Administrator / Desktop / NLNG .Encryption / NLNG.Encryption / bin / Debug / System.Xml.Linq.DL L.日志:嘗試下載新的URL文件:/// C:/ Documents and Settings / Administrator / Desktop / NLNG.Encryption / NLNG.Encryption /bin/Debug/System.Xml.Linq/Sy stem.Xml.Linq.DLL。 日志:嘗試下載新的URL文件:/// C:/ Documents and Settings / Administrator / Desktop / NLNG.Encryption / NLNG.Encryption / bin / Debug / System.Xml.Linq.EXE。 日志:嘗試下載新的URL文件:/// C:/ Documents and Settings / Administrator / Desktop / NLNG.Encryption / NLNG.Encryption / bin / Debug / System.Xml.Linq / System.Xml.Linq.EXE。 日志:嘗試下載新的URL文件:/// C:/zennlnglib/System.Xml.Linq.DLL。 日志:嘗試下載新的URL文件:/// C:/zennlnglib/System.Xml.Linq/System.Xml.Linq.DLL。 日志:嘗試下載新的URL文件:/// C:/zennlnglib/System.Xml.Linq.EXE。 日志:嘗試下載新的URL文件:/// C:/zennlnglib/System.Xml.Linq/System.Xml.Linq.EXE。

這是我加載我的DLL的方式:

Assembly u = Assembly.LoadFrom(@"C:\test\test.dll");

    Type t = u.GetType("Test.Process");
    MethodInfo m = t.GetMethod("ProcessFile");

    try
    {
        object[] myparam = new object[1];
        myparam[0] = @"C:\test\testFile.csv";

        result = (string)m.Invoke(null, myparam);

        Console.WriteLine(result);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message.ToString());
        Console.WriteLine(ex.InnerException.ToString());
        System.Threading.Thread.Sleep(100000);
    }

System.IO.FileNotFoundException:無法加載文件或程序集'System.Xml.Linq,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'或其依賴項之一。 該系統找不到指定的文件

漂亮說會發生什么。 檢查是否在發生錯誤的其他計算機上安裝了.NET Framework的正確版本(3.5)。

如果您嘗試從下面打印的位置加載它,請在中查找System.Xml.Linq dll

C:/zennlnglib/System.Xml.Linq.DLL

我猜

C:/ Documents and Settings / Administrator / Desktop / NLNG.Encryption / NLNG.Encryption / bin / Debug /

在目標機器上不存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM