JeffreySu / WeiXinMPSDK

微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
https://weixin.senparc.com
Apache License 2.0
8.43k stars 4.35k forks source link

是否可以从版本管理中去掉生成结果(dll/xml等)等易于变化的文件? #230

Closed deerchao closed 8 years ago

deerchao commented 8 years ago

因为每次编译后就会变化, 然后提交时要上传到服务器, 别人 fetch 时也要下载下来. 一来会无谓地消耗大家的时间和带宽. 二来在 diff 时也会看到一堆不需要关注的东西. 如果是希望别人下载后可以直接用二进制文件, 那可以再建一个 repo 专门做这个用途, 或者在官网提供最新版本下载.

还有 VS 自建的 .vs 文件夹, 这个里边保存了每个人的本地工作路径, 不同的人提交时就会变化, 也没有什么意义.

Nuget 的 packages 目录也可以删除, 现在版本的 Nuget 在生成之前会根据 packages.config 文件自动下载缺失的包, 这个过程是有本地加速的(就是同一台电脑以前在别的项目中下载过某个包的话, 他会跳过下载直接使用缓存).现在整个 repo 超过了 100MB, 这些包如果不在版本管理中对刚 clone 的人更友好.

请考虑下, 多谢了.

JeffreySu commented 8 years ago

.vs确实可以删掉。 其他的问题我们也比较纠结,dll等文件很多人下载.zip就是为了不编译直接用dll,packages后来加上去还是考虑到有些网络和VS插件环境下(比如resharper),更新nuget速度是非常慢的。不知有没有两全的办法?

lishewen commented 8 years ago

@JeffreySu nuget管理包基本上是趋势,asp.net core基本上所有库都是通过nuget获取的,很少直接引用DLL了,如果你觉得官方的nuget慢,大可以自建一个nuget server,nuget server的程序也是开放的,或者你觉得架设nuget server麻烦,也可以传到我的nuget server下,http://nuget.lishewen.com/

deerchao commented 8 years ago

或者对于想直接下载 zip 后用 dll 的, 可以在 readme 里加个链接, 让他下载另一个文件? 编译结果变化是最频繁的, 每次生成都变, 有点逼死强迫症的感觉..

JeffreySu commented 8 years ago

@lishewen @deerchao 这个问题确实挺矛盾的,如果我们每次去维护另外一个地方的dll库,工作量太大了,我们自己有nuget server,但是你必须让用户添加地址才可以用,这个显然太麻烦了。

4.5(master)的build文件夹已经没有dll了(Senparc.Weixin.MP.BuildOutPut文件夹下面的dll应该是误传,这个文件夹下面不应该有dll的)。

packages下一个版本先删掉看看反应吧(估计会有很多人吐槽)

lishewen commented 8 years ago

非官方nuget server可以参考 http://www.1234.sh/post/pomelo-data-mysql 中的做法,ASP.Net Core项目中支持 NuGet.config 文件的,事先做好这个文件,让客户直接把文件拷贝到项目根目录即可,不用配置VS,比引用DLL简单(引用DLL还要右键项目选)

JeffreySu commented 8 years ago

新版本master已经都去掉package和dll了。