确保控制台项目中的app.config复制到Web项目的bin文件夹

时间:2014-01-16 18:44:27

标签: c# visual-studio-2012 msbuild app-config

我继承了一个项目,该项目有一个包含许多项目的解决方案:

  • 实用程序A - 控制台应用程序
  • Utiltiy B - 控制台应用程序
  • Commons C - 由其他项目共享
  • Web App D - 提供管理和支持功能

现在,D引用了A和B中的一些代码,这意味着A.exeB.exe被复制到D的bin文件夹中。但是,其他进程偶尔需要直接调用A.exeB.exe。它们无法直接从D\bin调用,因为该文件夹只包含.exe,而不包含app.config文件。

之前的解决方法是将A,B和D部署到不同的目标,A.exe.configB.exe.config仅部署在自己的文件夹中。我想摆脱3个不同的部署时,它可能只是一个,但我不知道该怎么做。我试图摆弄各种“构建动作”和“复制到输出”选项,但似乎没有任何效果。

如何让Visual Studio将A\app.config复制到D\A.exe.config?理想情况下,没有后期构建脚本。

1 个答案:

答案 0 :(得分:2)

对于自定义部署,我总是必须依赖构建后的脚本才能正确完成(不幸的是,它们并不像在C ++中那样好)。

我做的另一件事是设置项目,以便构建输出位于所有项目的相同位置(当然,尊重调试和发布),然后将配置文件添加到各自的解决方案并更改配置文件的“复制到输出”属性为“如果更新则复制”。这将确保所有内容都在同一个地方,依赖项,并且您不需要构建后的脚本。