使用C#,VS2012,Windows服務器2012r2指着一個EXE到DLL可執行文件的目錄以外的
我做了這方面的一些搜索,我想我已經知道答案,但希望有人可以讓我知道,如果我是對的。
我有一個網站,在bin文件夾中有一個dll。我也有幾個可執行工具按需或按計劃運行,幾乎所有這些工具都使用與wesbite相同的dll。或者說,他們使用駐留在每個exe文件夾中的dll副本。
這很麻煩,因爲任何時候我更新該網站的DLL,所有這些exe文件現在使用的是舊版本的dll。所以我想,如果我可以指向所有的exe的網站bin文件夾,並在那裏使用dll。
如果可能的話,我寧願不修改windows PATH值。如果是這樣,它看起來會需要使用一個名爲LoadLibrary的函數?我幾乎不做任何Windows編程,所以我不熟悉這一點。這是唯一的(或最好的)方式嗎?
我剛剛創建NativeMethods類,然後調用GetProcAddress每個方法/函數,我需要打電話?
我希望有一種方法,基本上只是告訴EXE在app.config中查找特定的文件夾中的DLL。這不可能嗎?
感謝
您的DLL是託管還是非託管DLL? – LostInComputer
您可能嘗試將DLL放在某處,然後在每個應用程序bin目錄中創建符號鏈接(需要Vista或更高版本)。更新應只需要替換單個鏈接目標。我認爲這應該起作用,但我沒有很多Windows上的符號鏈接經驗,而且Windows似乎也沒有爲他們提供很好的工具/管理支持。 –
託管 - 全部在.net/C中完成# – merk