1

所以在 Visual Studio 中,我在 GitHub 上有一个项目,在 app_data 目录中有一个 mdf 文件。

关于源代码控制和构建,我该如何处理这个 .mdf 文件?

错误的解决方案 1 - 签入一个空的 .mdf 文件

我可以创建一个存根 mdf 并将其签入。但我不喜欢这个解决方案。一旦我签入它,它就会显示为已更改,并且我必须在每次后续签入时排除 .mdf。更糟糕的是,如果我忘记排除它,那么我必须恢复签入。

错误的解决方案 2 - 忽略 *.mdf 文件

我可以忽略 mdf 文件。但是现在当有人检查我的解决方案并单击构建时,构建失败。手动创建 SQL 文件非常容易。但前提是你知道这是你应该做的。此外,许多潜在用户/贡献者可能会查看我的开源项目,单击构建,看到它失败,然后决定继续。

目前我正在使用错误的解决方案 1。

平庸的解决方案 1 - 复制另一个签入文件

将 mdf 文件签入到项目中的某个位置。运行复制命令。我可能不得不接受这个选项。我希望这只是一个脚本思想。

更好的解决方案 - 如果缺少预构建操作来构建 mdf 我正在努力实施这个解决方案。

在 Visual Studio 项目的预构建操作中,我有这个:

IF NOT EXIST "$(ProjectDir)App_Data\SqlRepository.mdf" (
    REM Command to create SqlRepository.mdf here
)

但是 Visual Studio 正在添加一个 *.mdf。如果文件丢失,应该有一个脚本可以创建存根。Visual Studio 在做什么?

因此,一个有效的答案将涉及:

  1. mdf 未签入
  2. 不是另一个签入文件的文件副本
  3. 如果不存在,脚本将构建 mdf
  4. 脚本并不过分复杂
  5. 适用于几乎所有其他 Windows + Visual Studio 环境
4

0 回答 0