Nuget的一点疑问?
最近刚接触C#,发现Nuget这个管理,很方便。但有个源代码管理方面的问题没搞清,想请教大家。
主要是说第三方开源代码,传统意义上的,使用第三方代码的普遍做法应该是这样的。
1. 为第一个第三方代码建立一个branch,比如这个源代码版本号为4.3.1,将源代码放进去。
2. 为第二个第三方代码建立一个branch,比如源代码版本号为2.5.3,将源代码放进去。
3. 为自己的工程建立一个branch。比如1.0,将自己写的源代码放进去。
4. 比如要发布自己的产品1.0,则目录结构大致是这样的。
publish/1.0/myproduct
3rdparty/ziplibrary/4.3.1/src/
3rdparty/loggerlib/2.5.3/src/
编译系统将两个第三方代码编译放到某个目录下,并将myproduct编译放到某个目录下,最后将这些所有文件打包,产生安装包,并签名等等。
这样产品最终形成,而且一旦发现问题,所有的源代码都在掌握之中,可以方便的查找问题。
而对于Nuget,我的问题是第三方源代码看起来全都是package,说白了就是一些已经编译出来的DLL和其他文件。这些文件的源代码不可控,对于企业来说,不能只是简单的引用DLL文件,这样公司能不能同意都是个问题。
说白了就是对于公司来说,第三方源代码如何管理,如果使用nuget的话。
是不是可以根据DLL的版本,然后查找到第三方开源的网站,然后下载对应的源代码?如果是这样,谁能保证这个第三方的开源网站会不会出问题。 总之就是一句话,第三方源代码不可控的问题怎么解决。
我应该怎么做?我对C#不太了解,所以有这样的问题,希望大家帮忙。