问题标签 [versioning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - VS2005:如何自动生成带日期的内部版本号?
我在 Visual Studio 2005 中有一个 .net 2.0 C# 应用程序,我想为其自动生成正确的版本构建号,该版本号应该包含一个数字,让我可以猜测应用程序的构建日期。
我尝试使用 Microsoft 的“AssemblyInfo Task”工具,但默认情况下该工具不起作用。对于今天,它将生成一个内部版本号“090227”,该版本号超过了最大值 65535,因此会产生错误。
我也可以使用包含年份和日期的内部版本号,例如 09001 表示 2009 年 1 月 1 日......
你知道这个问题的任何解决方案吗?
我是否必须更新此“AssemblyInfo 任务”的源代码,或者这是否可以在 VS2008 左右实现?
谢谢你的帮助。
svn - SVN 工作副本的本地版本控制经验?
在我的工作地点,我们使用 SVN 和 TortoiseSVN (Windows XP) 作为客户端。在此期间,我的通勤时间和离线工作时间较长。
现在,我想在本地进行某种“扩展撤消”;即我想对我的 SVN 工作副本进行本地版本控制,以便敢于重构。
完全切换到例如 git、mercurial 等不是一种选择,因为该公司使用 SVN。
我想知道的是,是否有人有任何版本控制本地 SVN 工作副本的经验,也许是通过运行本地 git 或类似的?
有没有潜在的缺点?(可能会弄乱 .svn 文件夹或类似文件夹)
versioning - 在分布式架构中,为什么很难管理版本?
我一次又一次地看到这个。UAT 测试经理希望新版本在周五之前准备好进行测试。在预测试会议上提出的第一个问题是,“我将针对哪个版本进行测试?” (这是一个公平的问题)。房间里安静了下来,然后有人会回来说:“所有程序集都有自己的版本,只需右键单击并查看属性...”。
从测试经理的角度来看,这是没有用的。他们想要一个版本/标签/标签来告诉他们正在做什么。他们希望这些信息很容易获得。
我已经看到解决方案,其中系统的不同区域的版本存储在数据存储中,然后显示在主应用程序的关于框上。问题是,这需要维护。
您看到什么解决方案可以解决这个持续存在的问题?
编辑。分布式系统涵盖VB6、Classic ASP、VB.Net、C#、Web Services(跨部门,我们用的是哪个版本?)、SQL Server 2005。
vb6 - How do I change an EXE or DLL version number from the command line?
I need to build an old VB6 application with a version number where the 4th digit is greater than 9999, for example, version 1.2.0.10003
. VB6 won't let you do this; the build fails.
The current workaround is to build version 1.2.0.9999
and then manually edit the file in Visual Studio to insert the correct version. There must be a better way. Is there a command-line tool that allows you to modify the version number fields of an EXE or DLL? Preferably a way that allows you to edit specific version number fields individually.
.net - VB.NET 接口/后期绑定排序
让我给出一个场景,然后看看是否有人有解决方案/解决方法。
我有一个只包含类的库(DLL)。在另一个库中,我有第一个库中的类实现的接口。客户端将始终仅引用包含接口的库的一个版本(始终是最新版本) - 并且只会对这些接口进行添加(更多接口/方法)。此外,该接口库只有一个版本——因此客户端不需要更新引用(接口库将通过反射加载——因此通常的探测规则不适用,我们只能加载客户端具体的内容要求)。实现接口的库将具有不同客户端同时引用的多个版本。
当客户端程序集引用旧版本的实现库时会出现此问题。它从实现库中的类类型创建一个对象 - 然后将其传递给另一个客户端程序集。该客户端程序集使用最新(也是唯一)版本的接口库,并尝试使用适当的接口类型转换传递给它的对象。此转换失败,出现异常“System.TypeLoadException:来自程序集 Z 的类型 Y 中的方法 X 没有实现”。我预计会出现此异常,因为在新版本的接口(相同的版本号 - 旧库被破坏)中,定义了方法 X,但即使传递的旧版本对象包含表示它实现相应接口的元数据,
所以,我的问题是这样的;有没有办法让客户端使用该接口,但仅在调用未在引用对象上实现的方法时才导致异常(而不是在将引用对象转换为较新的接口类型时生成异常)?
顺便说一句 - 后期绑定不是一个选项,因为我们想要智能感知/编译时类型检查......另外,我知道如何使用函数指针和包装类来做到这一点 - 我只是希望有一个更好的解决方案,更多使用常规 .NET 类型进行调整。
谢谢 - 非常感谢任何帮助
versioning - 确定版本号
复制
你好,
所以我最近看到Groovy发布到了1.6版,在收听 Java Posse Podcast 时,他们评论说这个版本包含了这么多内容,它应该是2.0版本。
这让我思考。版本号是任意的吗?我曾经认为它们是有意义的,但我想不是。这一切都只是基于里程碑并将项目设置为项目吗?
您的团队如何控制您的版本号和发布?
提前致谢
versioning - 我可以提供一些版本编号建议吗?
我们的产品历史悠久(12年左右)。
它起源于 VB3(第 1 版)和后来的 VB6(第 2 版)。(版本号是“狗早餐”,版本控制是一场噩梦。
我已经在这里参与了几年了。我们在 .Net 平台上正在开发第 3 版,但第 2 版继续得到定期发布的支持 - 每年大约 3 或 4 次。
我在开始时引入了夜间自动化构建,我们产品的版本号是 2.2.2。每个人都计划只发布 2.2.3,但是自动构建过程和 VB6 的“有趣”的 3 部分编号系统意味着我们需要使用第三部分 - 构建/修订号 - 它应该是。
所以我们发布了 2.3 版(内部版本号为“whatever”)并开始使用 2.4(每晚增加内部版本号),然后是 2.5,然后是 2.6,等等。
内部版本号隐藏在公众视野之外,但可用于支持目的,即使我们很少发布超过一个版本的版本 - 但我们偶尔需要修补。
确保一致性。现在我们达到 2.9。我们即将移动到 2.10(2 点 9,最多 2 点 10)。不幸的是,非技术人员将其视为有理数(两点一)。他们无法理解我们为什么不直接使用 3.0 版——比如数数。(内部版本号仅出于支持目的显示在“帮助/关于”屏幕上)。
我认为没有必要对产品(主要数量)进行升级,尤其是由于市场对这将设定的期望。
这里有正确的方法吗?(2.10 或 3.0 或更好的版本 - 或者它甚至重要吗?)
(注意。我已经竭尽全力确保版本号现在显示为 2.09,而不是 2.9(在我们的网站、产品启动屏幕和各种其他公共场所等),因此当我们移动到 2.10 时,它可能更有意义,但这可能同样令人困惑,因为 2.09 实际上是比 2.8 更低的有理数......)
也可以看看:
winapi - Win32 VERSIONINFO 资源中的 URL?
我们的一位经理决定我们的 EXE/DLL 文件(在 VERSIONINFO 资源中)中的 CompanyName 应该包含我们的 URL(例如“OurCompany - http://www.ourcompany.com ”)。
我认为这是一个坏主意,因为它可能会导致意想不到的后果。它也冒犯了我的审美,因为该字段不调用 CompanyNameAndUrl,而且我们的公司名称不是 URL。
我对吗?我怎样才能说服他他错了?我应该在哪里放置一个 URL 以使其出现在 Windows 的版本信息中。
我错了吗?
更新:二进制文件是数字签名的,所以 URL 在那里可见。
.net - AssemblyInfo 属性如何映射到 Win32 VERSIONINFO?
当您查看包含 VERSIONINFO 资源的二进制文件的属性时,Windows 会添加一个显示该信息的“版本”选项卡。
是否有一个 .NET 程序集属性映射到哪个 VERSIONINFO 字段的列表,以便我们可以轻松地为我们的 .NET 程序集控制这些属性?
django - 如何安全地更新实时网站
我们有一个相当简单的基于 Django 的网站来进行 CRUD 操作。我一直在本地进行测试和开发,然后在测试完成后将版本和数据库架构更改检查到实时服务器上。我们最近在发布某些类型的更改时遇到了问题。想象以下事件序列:
- 用户打开 Web 表单
- 网站已更新以要求此表单上的新字段
- 用户提交他们一直在处理的表单
- 服务器返回错误,因为它希望接收在步骤 2 中添加的新字段
其他网站如何处理此类问题?我的想法:
- 在进行更新时使站点脱机。这并不能真正解决问题,因为用户在提交之前可能会无限期地打开 Web 表单,但是在一定时间之后,任何人都不太可能提交表单。
- 在非常低的流量时间进行自动更新。同样,这并不能真正解决问题,但我们的网站并不那么受欢迎,如果我们在凌晨 3:00 进行更新,我怀疑会有很多用户。这种技术的一个问题是自动更新失败。
- 对表单进行版本控制,以便服务器识别正在提交的旧表单并提供对用户更友好的响应。是否有自动化工具可以帮助解决这个问题?
想法?