2010-07-22 50 views
0

我有一個非常簡單的命令行.net應用程序。我參考了一個.dll程序集,當我在Visual Studio中運行該程序時,所有的工作都非常棒。但是,當我嘗試雙擊.exe文件或通過DOS手動運行它時,它錯誤地指出它沒有訪問權限或無法找到我的程序集引用。爲什麼在Visual Studio外運行時,我的命令行應用程序在遠程程序集上出錯?

我現在對這種情況瞭解多少?它與權限相關嗎?或者我必須以另一種方式鏈接程序集引用?我在網上找不到與此相關的任何內容。

+0

exe位於哪裏?在構建輸出文件夾?在網絡上?哪裏? – 2010-07-22 20:43:51

回答

0

嘗試將dll複製到與exe相同的文件夾,如果它尚不存在。 如果dll是在Visual Studio中作爲同一項目的一部分構建的,那麼請確保兩個程序集正在編譯(構建全部)。

當VS直接運行應用程序時,它會創建應用程序的不同版本,而不是您要發佈的版本。你會注意到yourapp.vshost.exe這是視覺工作室的一個,而不是你應該運行的那個。

+0

那麼我遵循你的邏輯,但是失敗了我創建外部裝配的目的。我有大量的命令行對象,大多數情況下使用相同的對象來完成這項工作。因此我不想將相同的.dll複製到每個項目中。因此,每次更新程序集時,我都必須將.dll複製到每個命令行應用程序。 有沒有辦法簡單地做參考工作?或者將.dll文件放在我的所有命令行項目中通用的位置? – Ryan 2010-07-22 20:56:27

+0

@Ryan然後在GAC中安裝.dll http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=713 – 2010-07-22 20:57:33

+0

這樣做!我將大會與GAC聯繫起來,完全解決了這個問題。 我不能投票了這個答案B/C我沒有足夠的代表點:( – Ryan 2010-07-26 16:10:42

相關問題