【发布时间】:2016-07-22 23:47:33
【问题描述】:
我的应用程序中有一个可选配置文件,用于特定于实例的配置。该应用程序在没有它的情况下也可以运行,并且只有在您想要配置一些附加功能时才需要它。因此,它不应包含在源代码控制中,因为每个开发人员和客户端部署都不需要它,而需要它的人会有不同的价值。
我在弄清楚如何配置它以进行持续部署时遇到了问题。我可以毫无问题地在构建服务器上生成文件。 但是,由于 MsDeploy 读取 csproj 以确定要部署哪些文件,因此我的 csproj 必须跟踪此文件才能实际移动到部署服务器。 但是如果我让我的 csproj 跟踪它,那么它就不再是可选的,没有它我就无法构建应用程序。我正在使用没有 commit-one-version-ignore-subsequent 功能的 Mercurial(git 的 --assume-unchanged),因此在这方面的选项似乎非常有限。我坚信应该可以克隆一个 repo 并立即运行该项目,所以我真的不喜欢提交无法构建的东西的想法。
在 csproj 文件中是否有一种方法可以指示文件如果存在则应作为内容包含,否则应忽略?
【问题讨论】:
标签: msbuild continuous-integration msdeploy csproj