我几乎只在WCF中开始使用我的模型,并希望获得一些实用的方法来对这些服务进行版本控制.谁能指出我正确的方向?
我在理解Java版本时遇到了问题.我看到很多版本,如1.4.2,1.5和1.6,但我也偶然发现5.0和6.0.我不明白这个版本或进展.
我是Java的新手,我已经阅读了一些关于OpenJDK vs Sun的内容,我想我明白了.这些版本是OpenJDK和Sun之间的区别吗?例如,OpenJDK的最新版本是1.6而Sun的版本是6.0?
所有这些版本对于刚接触Java的人来说都非常困惑.
我正在使用由abbuild表示的版本控制系统,其中a是整体版本(原型,alpha和beta版本为0,主要版本为1),b是里程碑版本(沿着代表原型的行, alpha,beta阶段)和build表示项目编译的次数.
目前,我在应用程序运行时设置了调试标志,从文本文件中读取应用程序,增加数字并保存到文本文件.
我正在寻找一种更"正确"的方法来使用Java和Netbeans来做到这一点.有没有什么方法可以将构建数量注入到构建过程的某个地方?最好将数字保存到项目附带的源文件中 - 而不是依赖附近文件的存在.
鉴于以下内容:
string file = @"c:\somepath\somefile.dll";
Run Code Online (Sandbox Code Playgroud)
如何使用.NET查找该DLL的文件和产品版本号?
dll可以是本机的或托管的.
谢谢.
前言:
我研究了如何对API进行版本控制,并找到了几种方法.我决定尝试peter williams的建议并创建新的供应商mime类型来指定版本和格式.我无法在"导轨方式"之后找到这样做的明确说明,所以我拼凑了几个地方的信息.我能够让它工作,但渲染器处理Widget数组vs Widget实例的方式有一些愚蠢respond_with.
基本步骤和问题:
我注册了mime类型,并在xml和json中为ApplicationController添加了版本1的渲染器,渲染了模型中的渲染器to_myproj_v1_xml和to_myproj_v1_json方法. respond_with(@widget)工作正常,但respond_with(@widgets)抛出一个HTTP/1.1 500 Internal Server Error说法"模板丢失".
解决方法:
"缺少模板"表示没有调用渲染,也不存在匹配的模板.偶然的,我发现它正在寻找一种类方法......所以我想出了下面的代码,但是我对它并不满意.愚蠢主要在xml = obj.to_myproj_v1_xml(obj)模型中并且与模型中的重复相关.
我的问题是 - 有没有人以稍微清洁的方式做过类似的事情?
- =更新代码= -
config/initializers/mime_types.rb:
Mime::Type.register 'application/vnd.com.mydomain.myproj-v1+xml', :myproj_v1_xml
Mime::Type.register 'application/vnd.com.mydomain.myproj-v1+json', :myproj_v1_json
Run Code Online (Sandbox Code Playgroud)
app/controllers/application_controller.rb:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :authenticate
ActionController.add_renderer :myproj_v1_xml do |obj, options|
xml = obj.to_myproj_v1_xml
self.content_type ||= Mime::Type.lookup('application/vnd.com.mydomain.myproj-v1+xml')
self.response_body = xml
end
ActionController.add_renderer :myproj_v1_json do |obj, options|
json = obj.to_myproj_v1_json
self.content_type ||= Mime::Type.lookup('application/vnd.com.mydomain.myproj-v1+json')
self.response_body …Run Code Online (Sandbox Code Playgroud) 让我们假设在git上维护blerp命令行工具.这个工具有(隐藏)选项,它返回它的版本(让我们说),另一个返回它的构建提交号.--version0.1.2--commit
版本号和提交号都在代码库上进行了硬编码.
现在我制作一个错误修正,然后提交并重建我的程序.我仍然会看到0.1.2这个新版本与原版0.1.2不同.只有提交会告诉我它不一样0.1.2.这个bugfix值得一个不同的版本号吗?
一种解决方案是每次提交时,我都会增加硬编码版本号(这意味着每次提交时总是修改最少2个文件).这是一个绑定解决方案,当开发人员处理不同的活动分支时,它不起作用.如果Bob foo使用该版本的功能,0.1.2而Alice bar则使用相同版本的功能.他们如何增加版本号?Bob可以使用奇数和Alice使用偶数.如果Eve在第三个功能上工作怎么办?
另一种解决方案是使用Git标签自动生成版本号.脚本可以找到以v此类开头的最接近的标记,v0.1.2并使用标记名称作为版本号加上当前commit(v0.1.2 (build 4acd21))的前n位数.如果工作目录是干净的,这很有效.可以想象*在构建号之前添加一个表示工作目录不干净.这个解决方案的主要问题是如果有人导出源,它将无法构建blerp.
有哪些替代方案可以解决这个问题?
如何在多个项目的AssemblyInfo.cs文件中更改程序集版本.我们的解决方案中有大约75个项目,我们几乎每周都需要更改版本.最快的方法是什么?
比方说,一个程序员团队正在Perl中使用Web应用程序git来管理他们的代码.现在,他们的模块版本化有一个小问题:
Perl::Critic和PBP都建议$VERSION在代码中使用RCS支持的变量git明确建议不要在代码中使用可替换的修订版号(有充分的理由)我理解为什么git不做关键字扩展.但是,我可以完全理解对一些代码的修订号的需要:
use用于打包和测试的全球产品版本可以使用标签轻松实现git describe,但我仍然没有看到为单个模块引入自动版本控制的方法.
你有什么解决方案吗?
假设我有一个带有一些基本功能的Web应用程序.我想推销它.所以我想指定一个版本号 - 类似于0.0.1.我想知道的是,是否有任何限制应该适用于该编号系统?
希望你能理解我的问题,提前谢谢.
MSDN说<supportedRuntime>配置元素可以包含可选属性sku.我完全理解如何使用它,但什么是SKU?我的意思是它是一个首字母缩略词,如果是,它代表什么?
versioning ×10
.net ×3
git ×2
java ×2
api ×1
assemblies ×1
c# ×1
dll ×1
maven ×1
perl ×1
respond-with ×1
terminology ×1
version ×1
wcf ×1