【问题标题】:Distributing open-source C# .NET code - what parts of the solution to check in?分发开源 C# .NET 代码 - 解决方案的哪些部分要签入?
【发布时间】:2014-01-16 16:51:57
【问题描述】:

我想将一些 C# .NET 代码签入我在 GitHub 上创建的新存储库。

通常我们使用 PHP/Python 编写代码,在这种情况下,我们只需签入所有 .php 或 .py 脚本并完成它。

对于我的 C# 项目,有所有这些额外的文件:

  • .sln
  • .csproj
  • 对象/
  • bin/

为了使其对其他人有用,我是否也要检查所有这些文件?还是这些文件特定于我的计算机,不应该在 git/svn 中?

【问题讨论】:

    标签: c# github open-source


    【解决方案1】:

    gitignore 文件通常会设置为忽略 obj/ 和 bin/ 文件夹,但您应该上传 .sln (解决方案文件)和 .csproj (项目文件)。

    在 github 上,您可以根据您编码的语言自动创建一个 .gitignore 文件。

    【讨论】:

      【解决方案2】:

      我认为,是的,您应该签入 *.sin 和 *.csproj 文件。 请注意,这些文件是基于 xml 的文件。当您添加任何其他新项目时,您也需要签入这些文件。

      【讨论】:

        【解决方案3】:

        GitHub 为 .NET 提供了合理的 .gitIgnore

        我倾向于忽略的关键文件

        # User-specific files
        *.suo
        *.user
        *.sln.docstates
        *.sln.cache
        
        [Bb]in
        [Oo]bj
        
        localConnectionStrings.config
        

        localConnectionStrings.config 适用于可以设置 web.config 的网站,例如:

        <connectionStrings configSource="localConnectionStrings.config" />
        

        这会阻止每个人在提交时覆盖其他人的本地开发数据库连接字符串(如果您是这样工作的)。

        如果您不提交 bin 文件夹,设置 Nuget Package Restore 也很有用。

        【讨论】:

          猜你喜欢
          • 2012-11-20
          • 1970-01-01
          • 2011-05-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-14
          相关资源
          最近更新 更多