none
請教使用DLLImpoprt時dll的路徑問題 RRS feed

  • 問題

  • 大家好

    我在以C# .NET開發的web application中呼叫一個dll的一個method,格式如下:

     

    [DllImport("ABC.dll")]
    
    public static extern uint DoSomething(int val1, int val2);

    int val1 = 1, val2 = 2;
    uint returnVal = DoSomething(val1, val2);

    一開始我將dll與*.aspx檔放在一起,但是出現『找不到指定的模組』,很明顯是compiler找不到這個dll,我將[DllImport("ABC.dll")]  修改為  [DllImport(".\\ABC.dll")]出現一樣的錯誤,用最笨的方法改成絕對路徑後就過可正常執行了。

    之後再改回[DllImport("ABC.dll")]測試竟然也沒問題,想請教大家是什麼原因造成這種狀況?

    謝謝

     

     


    Roger Chao
    • 已編輯 chao1017 2011年10月27日 上午 06:53
    2011年10月27日 上午 06:52

解答

  • 放在 \bin 目錄呢?
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    • 已標示為解答 chao1017 2011年10月27日 上午 07:47
    2011年10月27日 上午 07:13
    版主

所有回覆

  • 放在 \bin 目錄呢?
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    • 已標示為解答 chao1017 2011年10月27日 上午 07:47
    2011年10月27日 上午 07:13
    版主
  • 謝謝小朱兄的解答。
    Roger Chao
    2011年10月27日 上午 07:48
  • 網頁問題請在 asp.net 張貼。

    ASP.NET 不管你有沒有編譯,都會將預編譯的放在 C:\Windows\Microsoft.Net 裡面的暫存目錄,並以該目錄內容為實際執行對象。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月27日 下午 02:54
  • 不好意思,因為我把重點放在dll的路徑問題,加上我是以C# .NET開發,所以在這裡提問。謝謝您的提醒。
    Roger Chao

    • 已編輯 chao1017 2011年10月28日 上午 08:19
    2011年10月28日 上午 08:18