从现有项目中的bin文件夹配置dll

时间:2016-05-20 07:07:12

标签: c# git visual-studio dll

我得到了其他开发者开发的c#解决方案 此解决方案包含30个项目,还有git文件夹。 每个项目都有bin/个文件夹。我有网站和类库。所有代码质量都很差:例如bin e obj文件夹包含在git中。

我重构代码并重新配置git。我不想在git中包含bin/文件夹,因此我在bin/文件夹中包含库的每个项目的根目录中创建了一个dll文件夹。通过这种方式,visual studio中的引用也没有任何警告。

是不是?还有其他方法吗?

第二个问题:如果我在参考文件中没有的bin文件夹中有一个dll,我也会链接它吗?或者我可以不考虑它吗?

编辑:

EG: in a class library (not in umbraco project):

 - bin/umbraco.dll
 - bin/umbraco.provider.dll
 - bin/umbraco.core.dll
 - bin/lucene.net.dll

In visual studio is referenced only:

 - umbraco.dll

有三种方式:

  1. 在git中包含bin文件夹,如果我需要编辑此项目,我会 明白配置它;
  2. 在根目录中添加一个dll文件夹(并在git中),将umbraco.dll复制到其中。所以参考 视觉工作室还可以。但只有umbraco.dll将被复制到bin中 夹。和其他人?我需要它们吗?
  3. 在根目录中添加一个dll文件夹(并在git中),复制其中的所有dll文件。 因此,visual studio中的参考文献是可以的。我将其他人带到未来 使用。
  4. 我选择了第三种解决方案。

1 个答案:

答案 0 :(得分:1)

  

我不想在git中包含bin文件夹

只需确保您有.gitignore声明您不想要的内容:

bin/

这样,您甚至不必创建dll文件夹。或者,如果您这样做,则可以忽略同一bin/dll/个文件中的.gitignore(请注意{{1}中忽略文件夹的尾随' /' }})。

对于CSharp项目,gitignore.io proposes this .gitignore file

  

如果我忽略bin文件夹而你拉,项目将无法编译!

git应该总是忽略(大)二进制文件:Iain评论的那些依赖项应该来自工件存储库(如Nugget)或其他 externa 引用:git的外部 source 存储库,用于跟踪 sources (文本文件)的历史记录,而不是存储二进制依赖项。

但是如果必须,只复制项目中引用的dll(.gitignore)在版本化文件夹中,并查看项目是否编译/工作。然后添加缺少的一个 如果你必须对这些二进制依赖项进行版本化,最好只尝试版本最小数量的dll。