asp.net-mvc - 开源存储库中的 Web.config

标签 asp.net-mvc mercurial web-config

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

我还想将应用程序作为开源项目发布,并在生产服务器上运行。
我应该将 web.config 文件添加到源代码存储库吗?如果我应该,我应该如何跟踪“开源版本”(指向安装在本地主机上的 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
    

    关于asp.net-mvc - 开源存储库中的 Web.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6089984/

    相关文章:

    mercurial - TortoiseHg 在更新+清理时不删除文件

    version-control - 如何在Googlecode上上传带有 Mercurial 的项目?

    mercurial - 如何克隆存储库并保留文件时间戳?

    c# - ASP.NET 中的自定义类型应用程序设置

    c# - ASP.NET MVC 4 中的 Global.asax.cs 文件采用什么模式?

    jquery - 删除放大器;来自 JavaScript 中的字符串

    c# - MVC - 我可以通过 2 个不同的 Controller 在 1 个 View 上显示标题和消息吗?

    asp.net-mvc - ASP.NET MVC 部分 View : input name prefixes

    ASP.NET 不显示 CSS 或 JS 在 VS2013 中有效,但在 IIS 7.5 中无效

    wcf - 如果我的 Web.Config 中没有 "<behaviors>"节点,如何诊断 WCF 请求错误?