Tag: 版本控制

Web Api 2 API无法识别路由的多个属性(版本控制)

我正在尝试从RoutingConstaints Sample实现属性路由和VersionedRoute ,但是当我在控制器上使用两者时,版本化属性不再起作用。 我需要修改属性以使其与属性路由一起使用? 对于代码示例,请下载示例项目(或者只查看上面链接中的几个文件),然后修改路由: // When I use the RoutePrefix, VersionedRoute no longer works (Sending “Api-Version” through http header doesn’t route correctly // If I remove the RoutePrefix I can use VersionedRoute again // What do I need to change in its code to be able to use both? [VersionedRoute(“api/Customers”, 1)] // This route […]

你如何在敏捷项目中进行版本编号?

目前,我们正在为C#winforms项目使用以下版本编号方案: “重大发布”。“次要发布”。“迭代次数”。“迭代中的内部编号” 我们希望能够通过查看版本号来识别该迭代中的迭代次数和构建次数。 在过去,我们做过类似的事情:“主要版本”。“次要版本”。“1.0的顺序版本号”。 例如,“4.0.648”意味着自1.0以来有648个构建 – 但是这些信息相当无用和轶事,这就是为什么我们改变以反映迭代中的迭代和构建。 因此,考虑到这种新的敏捷版本编号,我们现在遇到的问题是,不同的产品组希望在我们的项目的迭代中进行更改。 在这种情况下,版本号没有意义,因为它们的迭代和构建号不对应。 例如,我的项目的最后一次构建是1.0.5.1,表示迭代的第一次构建5.现在,在第三次迭代中的另一个项目想要对我的项目进行更改并重建。 我应该如何应对这种情况? 你如何在敏捷项目中进行版本编号?

C#中的序列化和对象版本控制

如果我想序列化一个对象,我必须使用[Serializable]属性,所有成员变量都将写入该文件。 什么我不知道如何进行版本控制,例如,如果我添加一个新的成员变量(重命名一个变量或只是删除一个变量),然后我打开(反序列化)该文件如何确定对象/文件版本,以便我可以正确设置新成员还是进行某种迁移? 如何确定变量是否在加载期间初始化(由反序列化器忽略)。 我知道有版本容忍方法,我可以用[OptionalField(VersionAdded = 1)]属性标记变量。 如果我打开一个旧文件,框架将忽略这个可选(新变量),它将只是零/ null。 但是,我又如何确定变量是通过加载初始化还是被忽略。 我可以将类/对象版本号写入流中。 使用ISerializable方法并在constructor(SerializationInfo oInfo, StreamingContext context)方法中读取此版本号。 这将告诉我流中的类版本是什么。 但是我预计C#中的流式传输框架已经实现了这种版本控制。 我试图从SerializationInfo获取Assembly版本,但它始终设置为当前版本而不是保存对象时使用的版本。 什么是首选方法? 我在网上发现了很多文章,但我找不到一个解决版本问题的好方法…… 任何帮助表示感谢,谢谢,深渊

assembly文件版本没有变化?

我在assemblyinfo.cs类中有代码: [assembly: AssemblyVersion(“1.0.*”)] [assembly: AssemblyFileVersion(“1.0.*”)] 调用System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString()工作正常并提供更新版本,但是,当我在Windows资源管理器中查看生成的dll时,右键单击属性,单击“详细信息” tab,fileversion说“1.0.0.0”即使上面的输出说1.0.3489.17621?

.Net AssemblyName.version构建与修订

MSDN文档说明: 版本号由两到四个组件组成:主要,次要,构建和修订。 主要和次要组件是必需的; 构建和修订组件是可选的,但如果定义了修订组件,则需要构建组件。 所有已定义的组件必须是大于或等于0的整数。 版本号的格式如下(可选组件显示在方括号([和])中:major.minor [.build [.revision]]组件按惯例使用如下: Major:具有相同名称但主要版本不同的程序集不可互换。 较高的版本号可能表示无法假定向后兼容性的产品的重大重写。 轻微:如果两个程序集上的名称和主要版本号相同,但次要版本号不同,则表示具有向后兼容性的显着增强。 较高的次要版本号可能表示产品的点发布或完全向后兼容的新版本产品。 构建:构建号的差异表示对同一源的重新编译。 当处理器,平台或编译器发生更改时,可能会使用不同的构建号。 版本:具有相同名称,主要版本号和次要版本号但不同版本的程序集应完全可互换。 可以在构建中使用更高版本号来修复先前释放的程序集中的安全漏洞。 仅由构建号或修订号不同的程序集的后续版本被视为先前版本的修补程序更新。 我的问题是关于在这种情况下术语构建和修订的含义 。 在我看来,一般来说,当源头发生变化时,我们会“建立”。 因此,“build 678”和“build 679”之所以不同, 恰恰是因为源在某种程度上是不同的 – 通常是由于检查了一些变化的源。 在我看来,.NET定义使用“修订版”的方式通常使用“构建”。 有人在他们的版本控制中使用上面的定义吗? 如果是这样,你能举例说明你为什么这样做?

XmlSerializer:如何反序列化不再存在的枚举值

我正在使用XMLSerializer将此类保存到文件中。 该类有一个字符串和一个枚举,如下所示: public class IOPoint { string Name {get; set;} TypeEnum {get; set;} } public enum TypeEnum { Temperature, Pressure, Humidity, } 序列化时,它看起来像这样。 Relative Humidity Humidity 我一直在序列化和反序列化这个对象,几个版本都没有问题。 我不再想支持湿度,所以我将它从枚举中删除了。 但是,这会在从XML反序列化时导致exception,因为TypeEnum字段中的值Humidity不是TypeEnum的有效值。 这是有道理的,但如何处理呢? 我想做的就是忽略这个错误。 并将值保留为null。 我已经尝试实现OnUnknownElement XmlDeserilizationEvent类。 不幸的是,这并没有发现这个错误。 关于如何捕获和忽略此错误的任何想法(我可以在反序列化完成后清理)。 米奇

使用Visual Studio 2010和HG进行版本控制

最近我和我的团队得到了一个用于版本控制的HG存储库,因为这样可以更容易,更好地开发我们的应用程序。 我们正在使用Visual Studio 2010和c# 所有项目都受版本控制.. 不幸的是,当我们其中一个人提交时,通常另一个人在打开解决方案时会出现某种错误(由于VS具有各种文件) 我的问题是:应该在版本控制下放置哪些文件? (并在我的情况下删除!) PS:我们有3个项目:(使用XNA)游戏,内容,测试 非常感谢你!!! 担

我可以将自定义版本字符串添加到.net DLL吗?

我可以通过手动编辑.rc文件将自定义版本字符串添加到Visual Studio中的C ++ DLL。 例如,如果我添加到.rc文件的VersionInfo部分 VALUE “BuildDate”, “2008/09/19 15:42:52” 然后,该日期在文件资源管理器中,在DLL的属性中,在“版本”选项卡下可见。 我可以为C#DLL做同样的事情吗? 不仅适用于构建日期,还适用于其他版本信息(例如源控制信息) 更新:我认为可能有一种方法可以通过嵌入Windows资源来实现这一点,所以我已经问过如何做到这一点 。

使用MSI安装版本设置AssemblyInfo版本号

我正在使用安装项目来发布我的项目。 我希望每个项目的版本与安装版本相同。 我想在Visual Studio中更改我的安装版本属性,并且在构建之后,对于要从此属性更新的所有项目版本,这可能吗?

从C#函数运行git命令

我的C#代码在检测到跟踪文件中的更改时如何运行git命令? 我正在为此目的编写一个VisualStudio / C#控制台项目。 我是.NET环境的新手,目前正致力于将自动GIT提交集成到文件夹中。 我需要在已知文件夹上自动提交任何更改/添加/删除,并将其推送到git remote。 任何指导赞赏。 谢谢。 这是我的,最后一个是我需要一些指导: Git存储库最初设置在具有正确忽略文件(已完成)的文件夹上。 我正在使用C#FileSystemWatcher来捕获所述文件夹的任何更改(完成)。 一旦我的项目检测到更改,它就需要提交并推送这些更改(待处理)。 项目需要运行的暂定命令: git add -A git commit “explanations_of_changes” git push our_remote 注意:此代码(没有用户交互)将是唯一承诺此repo的实体,因此我不担心冲突并相信此流程将起作用。