【问题标题】:TFS build drop folder does not contain database scriptsTFS 构建放置文件夹不包含数据库脚本
【发布时间】:2016-03-05 23:56:57
【问题描述】:

这可能是一个新手 MS 构建查询。

我创建了一个名为 Database 的空 C# 项目,其中只有数据库 sql 脚本。这样做的原因是要将脚本输出到 TFS 构建放置文件夹中,因为在不更改模板/调整 XAML 文件的情况下,不会输出将脚本作为解决方案项。

但是我注意到新项目没有主入口点,因此编译失败。所以我去了构建配置管理器并禁用了“构建”和“部署”,这意味着我没有收到编译错误。

但问题是我无法在 TFS 构建放置文件夹中的任何位置找到脚本输出。请指教。

【问题讨论】:

  • 没有将脚本添加到实际构建并在 TFS 构建放置文件夹中具有输出的项目的任何特殊原因?您可以简单地将 VS(复制到输出目录)中的文件属性更改为“始终复制”。
  • 只想把它保存在解决方案中的单独项目中。
  • 查看了“复制到输出目录”。那是在文件级别。这会很乏味,因为我们有很多脚本,而且需要记住为每个添加的新脚本都这样做。
  • 为什么不创建一个实际的 SSDT 项目并将其编译成可部署的 DACPAC?手动管理 SQL 脚本不是一个好习惯。

标签: c# tfs build msbuild


【解决方案1】:

解决您的编译错误:

  1. 打开项目属性。
  2. 选择左侧的“应用程序”区域(如果尚未选择)
  3. 将“输出类型”从 Console Application 更改为 Class Library

完成此操作后,即使您没有 main() 入口点,您也可以构建和部署而不会出现编译错误。

这仍然无法解决您对“复制到输出目录”的担忧。默认情况下,Visual Studio 将 .sql 文件识别为具有内容的构建操作,其输出属性为“请勿复制”。

【讨论】:

  • 是的,解决了编译问题。正如预期的那样,将其更改为类库正在创建一个 DLL,尽管我没有用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-16
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-24
相关资源
最近更新 更多