2010-08-16 62 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

我不知道它是否是内“正常”是可行的生成规则,但你可以添加基本​​上移动文件的构建后步骤。这将是丑陋的,但它应该工作。