【问题标题】:how to change the location that the references dlls are copied to?如何更改引用 dll 复制到的位置?
【发布时间】:2010-08-16 22:40:17
【问题描述】:

我正在使用一些库,我添加了对该库 dll 的引用,并将“复制本地”设置为 true。
但我想将 dll 的位置更改为 exe 文件夹中的子文件夹,而不是 exe。
这怎么可能?
谢谢

更新:
我使用了以下构建后事件 [作为 Jon Skeet 推荐的]

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

【问题讨论】:

    标签: c# winforms dll reference


    【解决方案1】:

    您的 .exe 需要一个 .config 文件,以便更改探测路径。一个子目录是没有问题的,只要使用<probing>元素,它的privatePath属性是一个相对的文件夹名。

    但请注意,将 DLL 放在该位置时,IDE 提供的帮助很少。如果需要,您将需要一个构建后事件来创建文件夹,并且 xcopy 是那里的 DLL。像这样的:

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

    【讨论】:

    • 此链接包含要放入 app.config 中的 xml,以便探测路径工作stackoverflow.com/questions/806467/…
    • 如果有人对此有疑问,可能是因为您的路径中有空格。所以用引号括起来:"$(TargetDir)mumble"
    【解决方案2】:

    我不知道这在“正常”构建规则中是否可行,但您可以添加基本上移动文件的构建后步骤。这会很丑陋,但它应该可以工作。

    【讨论】:

      【解决方案3】:

      您需要它作为参考吗?还是只是将dll复制到所需位置的引用?

      如果您不需要引用,请尝试将其添加到项目中并将其设置为始终复制。

      Add the dll to a folder in the project and set to Copy to Output Directory http://web11.twitpic.com/img/146848312-ecfdeadf5b322fe755c7a764d6e6dbf0.4c69c2f0-full.png

      【讨论】:

        猜你喜欢
        • 2014-10-23
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 2011-10-29
        • 1970-01-01
        • 2014-10-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多