关于c#:自动将dll.config复制到引用的项目输出目录

Automatically copying dll.config to a referenced projects output directory

我使用下面文章中建议的方法将app.config文件包含到类库项目中。

相当于库(dll)的"app.config"

它如前所述工作,并在相应的类库项目输出目录(例如apicommunicatorindebug)中创建.dll.config文件。

我将这个类库项目作为"项目引用"从同一个Visual Studio解决方案中的另一个控制台应用程序项目引用。

现在的问题是,.dll被复制到控制台项目输出目录(即engineindebug),但是.dll.config没有。如果我手动复制它,一切都可以正常工作,但是有没有一种方法可以将Visual Studio配置为将.dll.config自动复制到引用类库项目的任何其他项目的输出目录?

谢谢,巴蒂亚


虽然我迟到了,但我的回答可以帮助别人。我将以下命令用作预生成事件:

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

我尽量保持活力,上面的命令也有效。我在这个问题上发布了相同的答案,我们可以自动复制*.dll.config吗?也。


可以使用项目属性的"生成事件"选项卡在生成后甚至预生成时运行命令行指令。这样,您可以使用

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

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


它必须是相反的:引用您的dll的项目可以从一个已知的位置复制它的dll.config,称为后期生成事件。

不过,我认为从使用者应用程序的配置中提供配置会更好。这样,每个引用项目都有一个选项来根据需要调整配置,我认为这是一个关键特性。

如果不是这样的话,那么我看不到使用.dll.config的原因,您可以对值进行硬编码。