自动将dll.config复制到引用的项目输出目录

时间:2014-08-13 12:11:02

标签: c# visual-studio-2012

我使用以下帖子中建议的方法将App.config文件包含到类库项目中。

Equivalent to 'app.config' for a library (DLL)

它按照提到的方式工作,并在各自的类库项目输出目录中创建.dll.config文件(例如ApiCommunicator \ bin \ Debug)。

我已将此类库项目引用为"项目参考"来自同一Visual Studio解决方案中的另一个Console Application项目。

现在问题是,.dll被复制到Console Projects输出目录(即Engine \ bin \ Debug),但.dll.config没有。如果我手动复制它,一切正常,但有没有办法配置Visual Studio自动复制.dll.config到引用类库项目的任何其他项目的输出目录?

谢谢, 巴蒂亚

3 个答案:

答案 0 :(得分:2)

虽然我迟到了,但我的回答可以帮助别人。我使用以下命令作为预构建事件:

copy /Y $(SolutionDir)\[YOUR_LIBRARY_PROJECT]\app.config $(ProjectDir)$(OutputPath)[YOUR_LIBRARY_NAME].dll.config

我试图尽可能地动态,并且上述命令有效。

我也在问题Can we autocopy the *.dll.config?上发布了相同的答案。

答案 1 :(得分:0)

它必须是另一种方式:引用你的dll的项目可以将它的dll.config从已知位置复制为构建后事件。

但是我认为从消费者应用程序的配置中提供配置要好得多。这样每个引用项目都可以选择根据需要调整配置,我认为这是一个关键特性。

如果不是这样,那么我没有看到拥有.dll.config的原因,你可以只对这些值进行硬编码。

答案 2 :(得分:0)

您可以使用'构建活动'项目属性的选项卡,用于在构建后甚至预构建时运行命令行指令。这样,您就可以使用简单的

copy /Y "<yourconfigfilepath>" "<yourprojectfilepath>\Engine\bin\Debug\"

这会将您需要的dll.config文件复制到正确的目录。