1

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

<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 应用程序没有它。我检查了构建屏幕以查看指令是否已执行。似乎更改不会再次被拾取或覆盖。怎么了?

4

1 回答 1

0

没关系:上面的解决方案是针对类库的,例如单元测试项目。对于桌面应用程序,您确实需要Slow Cheetah。奇迹般有效。

于 2013-05-12T21:19:46.203 回答