对超过 UInt16 屏障的程序集信息进行版本控制

2024-04-20

过去,我通常使用变更集或 svn 编号来对二进制文件进行版本控制,例如1.1.123.3 其中较大的数字是来自源代码控制系统的变更集或版本。 然而,对于我现在使用的系统,我们已经远远超过了类似 70000+ 变更集的 uint 障碍,因此在用作程序集版本属性或程序集文件版本属性时会导致溢出和编译器错误。 看:http://msdn.microsoft.com/en-us/library/system.reflection. assemblyversionattribute.aspx http://msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.aspx

有任何仍然将二进制链接到变更集的替代策略吗?

我已经调整了我的任务以使用给出的解决方案:

<Target Name="Version">
    <!-- Changeset exceeds u16int so cannot be used in Versioninfo-->
    <Attrib   ReadOnly="false" Files="$(VersionFile)"/>
    <!--Assembly version must be made of uint16 this means that the version number must less than 65536-->
    <!-- current changest is way past this so i will make the number changset-50000 and add a number -->
    <!-- so 70000 becomes 20000.1 and 100001 becomes 1.2-->
    <PropertyGroup>
        <Version>$(Branch).$([MSBuild]::Subtract($(ChangeSet),$(Offset))).$(OffsetCount)</Version>
    </PropertyGroup>
    <AssemblyInfo CodeLanguage="CS"
         OutputFile="$(VersionFile)"
         AssemblyCompany="$(Company)"
         AssemblyProduct="$(Product)"
         AssemblyCopyright="$(Copyright)"
         AssemblyVersion="$(Version)"/>

    <Attrib   ReadOnly="true" Files="$(VersionFile)"/>
</Target>

您可以翻转并从 0 重新启动,因此您的修订版将如下所示revision = 70000 % 50000.

你也可以使用build作为源代码控制修订的一部分,例如build = 70000 / 50000.

所以结果会是x.x.1.20000在这个例子中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对超过 UInt16 屏障的程序集信息进行版本控制 的相关文章

  • 每个 CPU 核心处于 C0 电源状态的时间

    任何帮助弄清楚如何做到这一点都会很棒 在过去一秒内 每个 CPU 核心处于 C0 电源状态的时间有多少 这是针对 Mac 应用程序的 因此需要 Objective C cocoa 和 c OS X 没有任何公开 CPU c 状态的 API
  • 如何将 pem 公钥转换为 openssl RSA* 结构

    假设我必须像这样公开 pem 密钥 BEGIN PUBLIC KEY MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7vbqajDw4o6gJy8UtmIbkcpnk O3Kwc4qsEnSZp TR fQi
  • 线程安全的get(访问器方法)

    我目前正在使用以下代码对变量进行线程安全访问 int gnVariable void getVariableValue int pnValue acquireLock Acquires the protection mechanism pn
  • 如何使用Task.WhenAny并实现重试

    我有一个创建多个基于 I O 的任务的解决方案 我正在使用Task WhenAny 来管理这些任务 但通常许多任务会由于网络问题或请求限制等原因而失败 我似乎找不到一个解决方案 使我能够在使用时成功重试失败的任务Task WhenAny 方
  • 多个源文件中包含包含“const”的头文件

    Why does not包含定义的头文件const并被多个源文件包含会产生编译错误multiple definition const in header file h const int num 5 int x Error Multiple
  • 如何以编程方式确定 C 中 int 数据的最大和最小限制?

    我正在尝试 K R 的练习 2 1 练习内容如下 编写一个程序来确定范围char short int and long变量 两者signed and unsigned 通过从标准标题打印适当的值并通过直接计算 如果计算它们会更困难 确定各种
  • 从空白启动时 VSTO 功能区不显示解决方案

    如果我从 文件 新建项目 菜单创建一个新的 Excel 2013 和 2016 VSTO 加载项 项目 然后单击 项目 添加新项目 gt 功能区 可视化设计器 则一切正常 我启动了应用程序 我的功能区显示在 Excel 中 但是 如果我首先
  • 是否可以用 C# 为 Android 编写应用程序?

    我们都知道Android运行Dalvik VM程序 通常开发人员用 Java 编写程序并将其编译为 Dalvik 字节码 我想知道是否有可能创建一个可以接受 C 代码并将其编译为 Dalvik 字节码的编译器 嗯 这是一种选择 或者您可以在
  • 我应该使用函数还是无状态函子?

    这两段代码做同样的事情 如您所见 它将用于排序函数 哪个更好 我通常写后一种 但我看到一些程序员像以前那样做 struct val lessthan binary function
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • NHibernate 中具有不同类型答案的问题

    我正在尝试找到一个问卷问题的简洁解决方案 假设我有一个Questionnaire类有一个集合Answers e g public class Questionnaire public virtual ISet
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 使用32位应用程序获取syswow64目录

    我正在尝试在系统目录中查找文件 问题是当使用 Environment SystemDirectory 在 x64 计算机上 我仍然获得 System32 目录 而不是 Systemwow64 目录 我需要在 x86 机器上获取 System
  • 读取所有进程内存以查找字符串变量c#的地址

    我有 2 个用 C 编写的程序 第一个名为 ScanMe 的程序包含一个包含值 FINDMEEEEEEE 的字符串变量 以及一个值为 1546 22915487 的双精度变量 另一个名为 MemoryScan 的程序读取第一个程序的所有内存
  • 在 C# 中加密并在 Flex 中解密

    我需要解密 Flex 中的一些数据 这些数据是用 C 加密并写入文件的 为了简单起见 我选择使用 as3crypto As3 库和 Bruce Schneier C 库 AS3 as3加密链接 http code google com p
  • 选择要重写哪个基类的方法

    鉴于以下情况 class Observer public virtual void Observe Parameter p 0 template
  • Yield Return == IEnumerable 和 IEnumerator 吗?

    Is yield return实施的捷径IEnumerable and IEnumerator 是的 您可以在我的书 C in Depth 的第 6 章中找到更多相关信息 幸好第六章是免费提供 http www manning source
  • 如何从标准输入读取一行,阻塞直到找到换行符?

    我试图从命令行的标准输入一次读取任意长度的一行 我不确定是否能够包含 GNU readline 并且更喜欢使用库函数 我读过的文档表明getline应该可以工作 但在我的实验中它不会阻塞 我的示例程序 include
  • lambda 表达式是多线程的吗?

    lambda 表达式是多线程的吗 假设当你将数学公式编写为 lambda 方法时 当你将其传递给另一个方法时 它会是多线程的吗 不是100 清楚你问的是什么 您是否想问 lambda 是否自然地在不同的线程上运行 如果是这样 则它们只是 S
  • 你将如何开始自动化我的工作? - 第2部分

    后续这个问题 https stackoverflow com questions 2796128 how would you start automating my job 在经历了第一波进货 9 小时的复制 粘贴 后 我现在相信我已经满足

随机推荐

  • PHP 中避免代码注入的最佳方法

    我的网站最近遭到了攻击 在我看来 这是一个无辜的代码 那里没有 SQL 调用 所以我不担心 SQL 注入 但显然 SQL 并不是唯一的注入方式 这个网站有一个解释和一些避免代码注入的例子 http www theserverpages co
  • 无法让 netTcpBinding 请求显示在 Fiddler 中

    我有一个具有两个端点的 WCF 服务 一种使用 basicHttpBinding 另一种使用 netTcpBinding 这是我的配置
  • Ecto 模型 - select 中的子查询

    我需要使用 Ecto 进行 SQL 查询 SELECT users select count 0 from money transactions where from id users id AND created at gt 2016 1
  • Google Maps API v3:单击 DOM 元素时关闭信息窗口

    我是第一次使用 Google 地图 所以我在 CSS Tricks 上查看了一个很好的教程 http css tricks com google maps slider http css tricks com google maps sli
  • 您的 APP_BUILD_SCRIPT 指向未知文件:./jni/Android.mk

    我正在尝试让 ndk gdb 工作 但遇到一些问题 我的项目结构是这样的 trunk indiana Here is the android manifest ubravo java mbravo here is the native co
  • aws 从 lambda 调用步骤函数

    所以我设置了一个步骤函数来调用将发送电子邮件的兰巴 我已经手动测试了它并且它有效 现在我想最初使用新的 lambda 调用此步骤函数 我在网上找到了一些代码并且我已经玩过它 通过了测试并且不会引发任何错误 有谁知道我错过了什么 因为它不起作
  • plt.imshow() 和 plt.show() 没有图像弹出或显示

    我试图通过将 cocoapi 演示脚本复制粘贴到我自己的本地脚本中来重新创建它 而不是在 Jupyter 笔记本上运行它 一切工作正常 并且肯定有图像被读取并且可以显示 因为我已经使用 openCV 的 imshow 函数对其进行了测试 并
  • 更改 Mercurial“默认”父 URL

    假设我有一个 Mercurial 存储库 并且我从默认父 URL 我克隆它的源 中提取数据 现在我想更改默认的父 URL 主机名更改 或者将其复制到另一台计算机等 有没有办法做到这一点 或者我必须从新的 URL 重新克隆 您甚至可以在 hg
  • 由于 MultiReleaseException,jdeps 无法打印模块 deps

    我们有一个基于 JavaFX 的应用程序 它是not模块化 有原因 涉及遗留库 但我们使用构建自定义运行时jdeps and jlink 我们最近重写了该应用程序并添加了一些新的依赖项 并删除了其他依赖项 现在 正在构建应用程序的脚本突然停
  • EFCore 3.1 - 通过 Any 存在查询;查询无法翻译

    我们使用 EFCore 3 1 并尝试通过跨越 2 个属性的 Any 使用 Exists 构建查询 var selectionCriteria someHugeList Select sh gt new sh Id sh StatusCod
  • 改变眼睛图像中特定区域的颜色[Matlab]

    I am trying to change the pupil of the following image This is not a feature extraction or eye detection task I want to
  • 修复 iPhone/iPad/iPod 上的 CSS 悬停问题

    我想修复 iOS 上的悬停效果 更改为触摸事件 但我不知道 让我解释一下 您的页面中有一段文字 div class mm hello world div 风格 mm color 000 padding 15px mm hover backg
  • std::cin 跳过空格

    所以我试图编写一个函数来检查一个单词是否在句子中 通过循环遍历 char 数组并检查相同的 char 字符串 只要句子中没有任何空格 该程序就可以运行 我用谷歌搜索了一下 他们都是同样的建议 cin getline 但无论我如何实现它 它要
  • 创建您自己的 .NET 程序集缓存

    在我正在编写的 net 应用程序中 我需要在本地缓存各个位置的程序集 以便即使原始位置不可用 我的应用程序也可以使用它们 我无法使用 GAC 主要是因为我想要可移植性 而且还因为程序集可能未签名 有谁知道任何支持此功能的 net 代码吗 我
  • 使用公共类实现 Monolog

    我成功地实现了用于测试目的的 Monolog 记录器 现在我正在尝试在项目中使用它 该项目不使用任何MVC框架 我正在尝试编写一个公共类文件来包装对 Monolog 实例的访问 常用类文件 文件 app log php require au
  • 如何根据其他 JSON 值获取 JSON 值

    我在 Go 中有一个来自 XML resp body 的结构 pdp sellableUnits attributes id 22555278 type size value 03 5 type sizeJ struct PDP struc
  • 引导标签之间没有间距

    在我的应用程序中 我试图有几个连续的标签 就像这样jsbin http jsbin com hesav 1 相反 我得到这个 正如您所看到的 标签之间没有间距 这可能是因为我的CSS有问题 但我无法找到罪魁祸首 bootstrap 中定义的
  • Marionette.Renderer、Underscore 模板和 i18next 国际化

    我们目前需要使用 Backbone Marionette 和下划线模板向中型应用程序添加国际化 经过一番彻底的研究后 出现了两种有效的选择 下属18n https github com ggozad underi18n它提供与下划线的直接集
  • 从多个表中选择 Sequelize

    我目前正在使用sequelize开发一个系统 我需要一个查询来从多个表中获取数据 如下所示 Select Courses id Rooms DisplayLabel Periods DisplayName Subjects Name fro
  • 对超过 UInt16 屏障的程序集信息进行版本控制

    过去 我通常使用变更集或 svn 编号来对二进制文件进行版本控制 例如1 1 123 3 其中较大的数字是来自源代码控制系统的变更集或版本 然而 对于我现在使用的系统 我们已经远远超过了类似 70000 变更集的 uint 障碍 因此在用作