我正在使用ASP.NET MVC在C#中创建Web应用程序,并且正在使用安装在计算机上的MSSQL服务器。

我也想将应用程序发布为开源项目,并在生产服务器上运行它。
我应该将web.config文件添加到源代码存储库吗?如果我应该,我应该如何跟踪“开源版本”(指向安装在localhost上的MsSQL)生产版本(指向我的web.config主机(我正在使用Mercurial))。

最佳答案

推荐的方法如下:

  • 创建您希望人们用作起点的文件的公共(public)版本的副本,并为其命名,而不是实际可用的文件。在您的情况下,可能是web.config.template。如果您刚刚重命名了文件,请确保该文件将可用。
  • 指示Mercurial忽略实际文件,即。 web.config
  • 如果可能,使构建过程确定是否存在实际文件,如果不存在,则从模板文件复制到实际文件
  • 如果无法执行步骤3,则下一个最好的事情就是创建实际文件的批处理文件,或者简单地说明如何制作它。

  • 这样可以确保:
  • 有一种获取实际配置文件
  • 的简单方法
  • 您可以编辑本地实际配置文件,而不必担心提交(它会被忽略)。
  • 如果可以执行步骤3,则该步骤在很大程度上是透明的,除非您需要对
  • 文件进行修改

    步骤3可以通过项目的预构建事件来处理,例如:
    if not exist web.config copy web.config.template web.config
    

    09-17 00:27
    查看更多