.Net 4.0会使用新版本的CLR(v2.1,3.0)还是会坚持使用现有的v2.0?
补充:是否可能与CLR v2.0保持一致并添加DLR v1.0?
更新:虽然这可能看起来像一个无法回答的推测性问题,但VS团队似乎正在发布关于VS10和.Net 4.0的越来越多的信息,所以很快就不会出现这种情况.(可在此处获取信息 - > http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx)
假设我的版本号为1.5.*,编译为1.5.4735.28467.
获得4735和28467的公式是什么?
我已经为REST apis(header,url,...)评估了许多版本控制模式.到目前为止,最可靠的方法似乎是url选项:它适用于代理,并且不依赖于模糊日期等模糊模式.
现在,当我环顾四周,大家谁使用基于URL的方法似乎使用的版本,如v1,v2等.没有人使用次要版本,甚至是语义版本控制等模式.
这提出了一些问题:
换句话说:像GitHub这样的公司,v3如今只有今天(2015年),现在已经有7年了?这是否意味着他们实际上只改变了他们的api两次?我简直不敢相信.
任何提示?
我有一个项目正在退出alpha阶段,我准备开始定期发布.我知道GitHub有一个"魔术"释放按钮,但我通常不喜欢'魔术'功能,我不知道他们究竟做了什么:
https://github.com/blog/1547-release-your-software
据我所知,GitHub上的"魔术"发布功能只是在源存储库中为代码的某个状态创建一个标记,或者使用现有标记.根据该链接,标记名称必须反映语义版本号,即Major.Minor.Patch ex:v10.1.2或类似的东西.
一般来说,接受Git的方法就是简单地创建标签.我想做的是让Git在我的代码树中自动创建一些名为version.txt或version.h文件的文件,其中包含我创建的git标签的名称,以便该文件可以自动获取用户在命令行上发出myporgram --version.我最好喜欢一个自动生成的头文件,因为在构建程序时它会被集成到二进制文件中.有没有办法自动执行此操作,或者在发出git tag命令之前是否必须自动将标记号管道传输到文件中?
我想知道是否有一种方法来同步构建号码(20080213.1)而不使用BuildNumberOverrideTarget,我将不得不生成自己的内部版本号?我基本上想要使用默认/内置tfs buildnumber生成器,但想要访问它以使我的程序集版本与它对齐.可以这样做,这是一种明智的方式吗?
我们有一个每晚构建过程,自动版本化所有C++项目.这是它的工作原理.有一个通用的头文件VersionNumber.h,具有特定#define的版本号.nighly build检查此文件,增加后面的整数#define并将其检入.所有Visual C++项目#include都标题到其资源文件中并使用该定义来指定版本(版本很像1.0.3.ThatNumber).
到现在为止还挺好.现在,我想对在同一日常构建中构建的C#类库具有相同的功能.目前他们都有
[assembly: AssemblyVersion("1.0.*")]
Run Code Online (Sandbox Code Playgroud)
在AssemblyInfo.cs文件和库中最终得到 1.0.HorribleNumber.AnotherHorribleNumber得到版本,这两个数字与C++项目使用的数字无关.
如何以最小的努力在我的C#项目中使用相同的清除自动版本编号?
对于我目前正在进行的项目,我需要实现对象版本控制.不幸的是,我需要保留每个对象的完整历史记录,因此像Papertrail这样的单个表解决方案很快就会变得无法管理.然而,我喜欢Papertrail的功能,我在一个解决方案中找不到每个模型的单独表格(例如acts_as_versioned).
还有Papertrail没有的一些功能可以奖励:
我目前正在考虑让Papertrail为每个模型使用单独的表格,但是如果有现有的解决方案,我想节省这些努力.
更新: Vestal版本默认使用单个表,但通过为每个模型提供自定义版本类并使用ActiveRecord的"set_table_name"方法,我能够为每个模型创建单独的表.Vestal版本也内置差异支持,但其界面不如Papertrails强大.它也缺乏关联支持.
更新2: 由于papertrail似乎是一个更活跃的项目,我已经分叉了gem并添加了类似于版本的自定义类支持,现在允许为每个模型定义单独的表.我的分支在这里,但我希望它很快就会被拉入主项目库. https://github.com/benzittlau/paper_trail
对于Convert方法,ITypeConverter接口已更改为具有"TDestination Convert(ResolutionContext context)"而不是"TDestination Convert(TSource source)".
http://automapper.codeplex.com/wikipage?title=Custom%20Type%20Converters
在我的代码中,现在我收到此错误:
'BusinessFacade.Mappers.DecimalToNullableInt'没有实现接口成员'AutoMapper.ITypeConverter.Convert(AutoMapper.ResolutionContext)'
像我的映射器一样,新映射器有什么好的完整样本吗?我不希望在我的项目中更改任何代码(或最小代码)......
我的映射器
public class DecimalToNullableInt : ITypeConverter<decimal, int?>
{
public int? Convert(decimal source)
{
if (source == 0)
return null;
return (int)source;
}
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
对于Convert方法,ITypeConverter接口已更改为具有"TDestination Convert(ResolutionContext context)"而不是"TDestination Convert(TSource source)".
文档刚刚过时.有一个ITypeConverter,以及一个基本的TypeConverter便利类.TypeConverter隐藏了ResolutionContext,而ITypeConverter公开了它.
http://automapper.codeplex.com/wikipage?title=Custom%20Type%20Converters
https://github.com/AutoMapper/AutoMapper/wiki/Custom-type-converters
http://groups.google.com/group/automapper-users/browse_thread/thread/6c523b95932f4747
我需要对存储在面向文档的数据库(MongoDB)中的(简单)Java对象图进行版本控制.对于关系数据库和Hibernate,我发现了Envers并且对这些可能性感到非常惊讶.是否有类似的东西可以用于Spring Data Documents?
我发现这篇文章概述了我对存储对象版本的想法(以及更多......),我当前的实现类似,因为它将对象的副本存储在带有时间戳的单独历史记录集合中,但我想改进这一点以节省存储空间.因此,我认为我需要在对象树上实现"diff"操作,并且需要"merge"操作来重建旧对象.有没有图书馆帮助这个?
编辑:任何MongoDB和版本的体验高度赞赏!我看到很可能没有Spring Data解决方案.
今天我在安装软件包时遇到了NuGet的奇怪行为.
简要说明:作为我的构建脚本的结果,有一个NuGet包.我不会每次都更改版本,因此每个版本都会生成MyPackage.1.0.0.nupkg.作为构建的最后一步,我将包推送到本地网络内部署的NuGet服务器.
现在,在另一台机器上,我运行nuget install MyPackage -Source http://myserver/nuget,显然安装了NuGet包.
当我推送另一个更新MyPackage- 仍然是版本时,问题开始发挥作用1.0.0.当我尝试在客户端计算机上重新安装它时,我得到了以前版本的软件包.
我发现它是被指责的本地缓存:如果软件包已安装,它将进入本地缓存,下次安装相同版本的软件包时,它将从缓存中获取.很公平!
但是,另一方面,有一个命令-NoCache选项nuget install,我希望它忽略本地缓存.
但是,事实并非如此.我第一次运行它时-NoCache,它会更新缓存并安装真正的最新版本.但是,下次仍然从缓存中获取包,即使有-NoCache选项.
这是预期的吗?是因为版本没有改变?
以防万一:所有NuGet操作都是通过NuGet.exePowerShell会话完成的.
更新:我观察到奇怪的行为我只能通过缓存过期来解释.缓存包时,所有后续调用都会nuget install从缓存中提取包,直到一段时间过去.我没注意到确切的时间段,但肯定超过一个小时.在此之后,nuget install更新缓存中的包,情况变得相同......