我得到了其他开发者开发的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
有三种方式:
我选择了第三种解决方案。
答案 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。