【问题标题】:How to get git to ignore assembly references in a visual studio project如何让 git 忽略 Visual Studio 项目中的程序集引用
【发布时间】:2019-08-20 15:19:14
【问题描述】:

我正在开发一个 Visual Studio C# 项目,我们在其中引用了几个 dll。但我们不想将 dll 包含在 github 存储库中。这是因为从事该项目的每个人都已经在他们计算机上的一个目录中拥有所有 dll,但该目录对每个人来说都是不同的。那么有什么方法可以让 git 在同步 .csproj 文件的其余部分的同时不同步程序集引用?

我尝试使用 git 过滤器,但无法让它们工作。

【问题讨论】:

  • 这是解决方案stackoverflow.com/questions/10779343/… 吗?
  • @Renat 不,我想忽略引用,而不是 dll 本身。从事该项目的每个人在他们的计算机上都有 dll,但在不同的目录中。
  • 这是不可能的(而且看起来有点老套)。更好的解决方案是使用所有这些 dll 创建一个 nuget 包并将其添加为参考。做起来并不难。
  • @Philippe 在这种情况下这是不可能的,并且需要比每次拉动时手动编辑路径更多的工作。这种奇怪设置的原因是该项目是另一个游戏的 mod,我们需要引用该游戏的 dll。但是我们不想在存储库中包含该游戏的 dll,因为我们没有权限,并且将引用指向游戏安装目录有很多好处。
  • **/foo.dll 怎么样,其中foo.dll 是您的dll 文件的名称?顺便说一句,.dll 文件在项目文件夹中吗?

标签: c# git visual-studio


【解决方案1】:

我最终这样解决它: 我在我们的项目中添加了一个名为 UsedDlls 的新文件夹,并在其中添加了一个 .gitignore:

*
!.gitignore

将我们需要的所有 dll 复制到该文件夹​​中,并将所有 dll 引用设置为指向该文件夹。

所以现在我们只需在需要时将所需的 dll 复制到该目录中即可。这样我们就不会在项目本身中保存 dll,也不需要每次拉取时都修复程序集引用。

这并不是最好的解决方案,因为这意味着您必须经常手动复制 dll,但它可以工作并且比以前好很多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    相关资源
    最近更新 更多