2010-08-16 64 views
1

我正在使用一些庫,並且我添加了對該庫dll的引用,並將「Copy Local」設置爲true。
但我想改變DLL的位置是exe文件夾中的子文件夾,而不是exe。
這怎麼可能?
感謝如何更改引用dll被複制到的位置?

更新:
我用下面的生成後事件[如喬恩斯基特推薦]

move /y $(TargetDir)\System.Data.SqlServerCe.dll $(TargetDir)\Lib\SqlSrvCe\System.Data.SqlServerCe.dll 

回答

2

使探測路徑改變你需要一個config文件爲您的.exe文件。子目錄是沒有問題的,只需使用<probing>元素,其privatePath屬性是相對文件夾名稱。

但是要注意,你會從IDE那裏得到一點幫助,把DLL放在那個地方。您需要一個後期構建事件,以便在必要時創建該文件夾,並在其中創建xcopy的DLL。事情是這樣的:

if not exist "$(TargetDir)mumble" mkdir "$(TargetDir)mumble" 
xcopy /d /y "$(TargetDir)something.dll" "$(TargetDir)mumble" 
+0

此鏈接包含XML來把裏面的app.config的工作http://stackoverflow.com/questions/806467/how-can-探測路徑i-set-privatebinpath-in-mef – Karim 2010-08-17 00:48:13

+0

如果有人遇到問題,可能是因爲路徑中有空格。所以用引號括起來:「$(TargetDir)嘟」「 – SaphuA 2011-05-06 08:39:14

1

我不知道它是否是內「正常」是可行的生成規則,但你可以添加基本​​上移動文件的構建後步驟。這將是醜陋的,但它應該工作。