我正在使用一些库,并且我添加了对该库dll的引用,并将“Copy Local”设置为true。
但我想改变DLL的位置是exe文件夹中的子文件夹,而不是exe。
这怎么可能?
感谢如何更改引用dll被复制到的位置?
更新:
我用下面的生成后事件[如乔恩斯基特推荐]
move /y $(TargetDir)\System.Data.SqlServerCe.dll $(TargetDir)\Lib\SqlSrvCe\System.Data.SqlServerCe.dll
我正在使用一些库,并且我添加了对该库dll的引用,并将“Copy Local”设置为true。
但我想改变DLL的位置是exe文件夹中的子文件夹,而不是exe。
这怎么可能?
感谢如何更改引用dll被复制到的位置?
更新:
我用下面的生成后事件[如乔恩斯基特推荐]
move /y $(TargetDir)\System.Data.SqlServerCe.dll $(TargetDir)\Lib\SqlSrvCe\System.Data.SqlServerCe.dll
使探测路径改变你需要一个config文件为您的.exe文件。子目录是没有问题的,只需使用<probing>
元素,其privatePath属性是相对文件夹名称。
但是要注意,你会从IDE那里得到一点帮助,把DLL放在那个地方。您需要一个后期构建事件,以便在必要时创建该文件夹,并在其中创建xcopy的DLL。事情是这样的:
if not exist "$(TargetDir)mumble" mkdir "$(TargetDir)mumble"
xcopy /d /y "$(TargetDir)something.dll" "$(TargetDir)mumble"
我不知道它是否是内“正常”是可行的生成规则,但你可以添加基本上移动文件的构建后步骤。这将是丑陋的,但它应该工作。
你需要它作为参考吗?或仅仅是将dll复制到所需位置的参考?
如果您不需要参考,请尝试将其添加到项目并将其设置为始终复制。
我需要它作为一个参考 – Karim 2010-08-16 22:58:30
此链接包含XML来把里面的app.config的工作http://stackoverflow.com/questions/806467/how-can-探测路径i-set-privatebinpath-in-mef – Karim 2010-08-17 00:48:13
如果有人遇到问题,可能是因为路径中有空格。所以用引号括起来:“$(TargetDir)嘟”“ – SaphuA 2011-05-06 08:39:14