根据Build cofiguration,应用程序,配置未被覆盖或未使用自定义app.config文件获取更改

时间:2013-05-12 19:19:20

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

我目前正在使用EntityFramework Code First创建一个必须同时使用localdb和sqlservercompact 4.0的解决方案。我为此创建了额外的构建配置:LocalDb和SQLCE。显然,我需要为这些构建配置使用不同的app.config文件。 I found this excellent solution并使用了第二个选项:使用AfterBuild指令更改MSBuild行为。所以我将下面的XML包含在WPF应用程序的项目文件中:

<Target Name="AfterBuild">
    <Delete Files="$(TargetDir)$(TargetFileName).config" />
    <Copy SourceFiles="$(ProjectDir)\Config\App.$(Configuration).config" DestinationFiles="$(TargetDir)$(TargetFileName).config" />
  </Target>

这在我家的Win8开发笔记本电脑上运行得很漂亮,但似乎在我工作的Win7桌面上忽略了该指令。我注意到我的class.dll已注释掉模板以添加PreBuild和AfterBuild指令,但WPF应用程序没有它。我检查了Build屏幕,看看该指令是否已执行。看起来这种变化不会被再次提取或覆盖。发生了什么事?

1 个答案:

答案 0 :(得分:0)

没关系:上面的解决方案适用于类库,例如单元测试项目。对于桌面应用程序,您需要Slow Cheetah。像魅力一样。