混合开发环境:从Git / TFS自动化Visual Studio .csproj更新?

时间:2015-05-22 19:02:51

标签: git visual-studio visual-studio-2012 tfs csproj

我希望你能帮助我解决这个开发工作流程的烦恼。

我是一个正在开发项目的前端开发人员,其中大多数其他开发人员都使用MS Visual Studio,我不知道。我们已经设置了TFS,并且我可以检查代码并在本地进行编辑。

完成修改后,我会通过git addgit commit将代码检入本地Git仓库,然后通过git tf checkin推送到TFS。

问题是我们使用Visual Studio的开发人员在从TFS更新工作区后无法看到我添加的文件。我们已经将这个问题的原因追溯到.csproj文件 - 我添加到repo的任何文件(例如JavaScript,CSS)都必须手动添加到Visual Studio中的项目中,因为我的工作流程并没有。使用VS并且不更新.csproj文件。

  • 有没有人遇到类似的情况并找到了解决方案?
  • 是否有可以通知添加文件并更新.csproj文件以匹配的工具?
  • 也许在Visual Studio中有一个设置,以便它在其目录中注意到新文件并自动将它们添加到项目中?

提前感谢任何建议。

1 个答案:

答案 0 :(得分:2)

有许多可能的解决方案。 .csproj文件是用MSBuild XML方言编写的,它有很多功能:整个book可以解释所有细微差别。

解决方案1 ​​

您手动编辑.csproj文件,添加新文件。

解决方案2

如上所述,但您可以使用通配符作为文件名,例如

<Content Include="Images\orderedList*.png" />

解决方案3

包含一个单独的.proj文件,以便明确您管理的内容。 在主.csproj添加

  <Import Project="Felix.proj" />

而不是创建单独的Felix.proj

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Content Include="Images\orderedList*.png" />
</Project>

我们可以继续,但这可能是一个起点。

解决方案4

另一种方法是更改​​工作流程:通过Visual Studio而不是命令行提交。这是一个如何:

  • 安装Visual Studio(至少2013 Update 4,Community Edition应该没问题)
  • 以您喜欢的方式编辑/添加文件
  • 使用Visual Studio
  • 打开.csproj
  • 在“解决方案资源管理器”面板中,选择显示所有文件选项
  • 右键点击丢失的文件/文件夹,然后选择包含在项目中
  • 保存更改
  • 切换到团队资源管理器标签,您应该看到Git操作的红色按钮
  • 选择更改并执行提交
  • 返回git tf
  • 的命令行

YMMV

解决方案5

编写自己的工具来解析git status,将添加的文件追加到.csproj并将后者添加到舞台上。一个脚本可以成功。