标签: versions

.NET/COM如何与通过Regasm注册的多个版本一起使用?

我有一个.NET DLL(碰巧用C++/CLI编写).它的一部分我想通过COM公开.我这样做并使用"regasm my.dll/codebase"注册它.到现在为止还挺好.但后来我更改了一些东西和程序集更改的版本号加上我将dll移动到另一个文件夹.我再次注册它,并在OLE/COM查看器中查看我的COM对象.我看到这样的事情

InprocServer32 [Codebase] = file://c://foo/bar/my.dll
7.0.0.0 [Class] = My.Blah.Class
7.0.0.0 [Assembly] = Sync, Version=7.0.0.0, Culture=neutral, PublicKeyToken=1dd19234234
7.0.0.0 [RuntimeVersion] = v2.0.50727
7.0.0.0 [CodeBase] = file://c:/dooby/do/my.dll
7.0.0.27397 [Class] = My.Blah.Class
7.0.0.27397 [Assembly] = Sync, Version=7.0.0.27397, Culture=neutral, PublicKeyToken=1dd19234234
7.0.0.27397 [RuntimeVersion] = v2.0.50727
7.0.0.27397 [CodeBase] = file://c://foo/bar/my.dll

有关多个版本的问题:

  1. 所以我认为注册的最后一个COM对象获胜.如果我注册了旧的7.0.0.0 COM对象并不重要,7.0.0.27397是我在实例化COM对象时创建的,因为我最后注册了它.那是对的吗?

  2. 哎呀我没有留在7.0.0.0对象.有没有办法摆脱它?有没有办法删除所有版本的COM对象,而不是进入注册表并手动打击它?

  3. 出于好奇,如果我特意想要实例化我的COM对象的特定版本,有没有办法做到这一点?(如果你想给出代码示例,我正在使用C++).

  4. 有什么方法我可以告诉regasm不存储版本号,因为它似乎是混乱的东西,我看不出有什么好处.如果我的COM对象经历了重大的API更改,我只需更改GUID和progid,对吧?如果我不想注册多个版本(我没有),该怎么办?

com versions regasm

7
推荐指数
1
解决办法
4144
查看次数

收集操作系统和工具版本号以用于构建存档目的

我们的自动构建机器需要存档操作系统的版本号以及每次构建期间使用的各种工具.(如果我们以后需要复制完全相同的构建,也许当机器长时间死亡时.)

我看到命令"msinfo32.exe"可用于转储整个系统版本信息,我们也可以将其归档.

有没有人知道如何轻松存档Visual Studio工具的版本号?

其他开发人员使用哪些机制来收集此类信息以进行存档?


Fabio Gomes的额外信息.

我同意你的看法,在5年的时间里,重建确切的操作系统和工具配置(直到最近的安全更新)可能是不可能的.不幸的是,这确实来自合同要求.作为我们向客户交付的一部分,我们必须提供所有源代码的副本以及有关如何复制构建的明确说明.我们可能无法完美地满足这一要求.

所以 - 我只是将你的答案标记为正确(我同意你的意见,这几乎是不可能的),并继续玩其余的堆栈溢出.:)

PS.如果堆栈溢出支持回复答案而不必编辑原始问题,那将是非常好的.但我发现它已被拒绝.

build-automation versions archive

6
推荐指数
1
解决办法
154
查看次数

版本."不是工作副本"

首先是一点背景:

我是一名设计师/开发人员,并决定将subversion用于个人项目.我是唯一一个从事这个项目的人.我已经设置了一个Beanstalk帐户并在Mac上安装了版本.本地我通过MAMP运行MySQL和PHP.我想做的是在本地开发并将代码推送到Beanstalk.我现在不计划从Beanstalk部署到我的实时服务器.

在Beanstalk中,我创建了一个存储库并导入了我的所有代码.然后我安装了Versions并向Beanstalk存储库添加了一个书签.到现在为止还挺好.接下来我想(这是一个疯狂的猜测)我需要添加一个所谓的"工作副本书签",以便版本可以查看我的本地副本以进行更改并将其提交到我的Beanstalk存储库.

问题:当我在版本中单击"创建工作副本书签"时,我在计算机上选择了一个文件夹,我收到错误:

'/ Applications/MAMP/www_mydomain'不是工作副本'

我不知道这意味着什么,现在我被卡住了.如何告诉版本跟踪本地文件夹的更改?

svn mamp versions

6
推荐指数
1
解决办法
6280
查看次数

什么是实施简单文档管理系统的最佳方式?

我打算建立一个简单的文件管理系统.最好围绕java平台构建.围绕这个有最好的做法吗?要求是:

  1. 能够上传文件
  2. 能够标记文档
  3. 版本文件
  4. 评论文件

我目前正在考虑几种选择.第一个选项是在SVN或CVS之上的简单API,并使用DB后端来跟踪标签,上传者,评论等

另一种选择是使用文件系统.将文档版本作为版本文件夹中的副本进行版本并使用文件名.

或者,如果有一个Open非GPL的文档管理系统,我们可以根据我们的需求对其进行自定义,并将其打包到我们的应用程序中.有没有人有建立这样的经验?

java svn tagging versions document-management

6
推荐指数
1
解决办法
2641
查看次数

如何在Xcode 5旁边安装Xcode 6?

我想知道是否有一种方法可以在Xcode 5旁边安装Xcode 6.我看到有人说你可以,但他们没有真正解释原因.有人可以帮忙解释原因吗?另外,如果我希望将来如何卸载它?

beta xcode install versions

6
推荐指数
1
解决办法
7717
查看次数

Maven 版本插件:版本:use-releases 不执行任何操作

我需要在发布之前更改项目的所有快照依赖项。我正在尝试命令行 mvn versions:use-releases中的versions:use-releases,但它对我不起作用。我正在使用 Nexus 存储库进行发布,并且发布版本已正确部署并具有公共访问权限

<dependencyManagement>  
 <dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.efx.util</groupId>
      <artifactId>efx-util</artifactId> 
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

当我执行: mvn versions:use-releases 时,它什么也不做。

[INFO] ------------------------------------------------------------------------
[INFO] Building efx-clientesocket 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.2:use-releases (default-cli) @ efx-clientesocket ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building efx-clientesocket-api 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.2:use-releases (default-cli) @ efx-clientesocket-api ---
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building efx-clientesocket-impl 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.2:use-releases (default-cli) @ efx-clientesocket-impl ---
[INFO] Ignoring reactor …
Run Code Online (Sandbox Code Playgroud)

java versions maven versions-maven-plugin

6
推荐指数
1
解决办法
3808
查看次数

如何在 C# 程序中使用特定版本的 Excel

出于多种原因,我在笔记本电脑上安装了 MSExcel 2003 和 MSExcel 2007。我需要这两个版本来为每个版本开发特定项目(文档级项目和应用程序级项目)。现在我需要做一个打开 Excel 文件的 WinForm 项目,读取一个 CustomXMLParts 并编写一个新的 Excel 文件。我正在使用对 Microsoft.Office.Interop.Excel 的引用,它使用 ..\Visual Studio Tools for Office\PIA\ Office12 \Microsoft.Office.Interop.Excel.dll 库(用于 Excel 2007)。对于此代码:

Microsoft.Office.Interop.Excel.Application excelApplication;    
excelApplication = new Microsoft.Office.Interop.Excel.ApplicationClass();
string version = excelApplication.Version;
Run Code Online (Sandbox Code Playgroud)

此时版本是“11.0”,但我需要打开Excel 2007,它必须是“12.0”,然后当程序尝试获取CustomXMLParts时,抛出异常,因为2003年不存在此方法。

如果我卸载 Excell 2003,它可以正常工作,但我需要同时使用两者(2003 和 2007)。当我重新安装 Excell 2003 时,它再次失败。我检查了 Interop.Excel 引用的“特定版本”属性,以确保它是正确的,并且我尝试修改 app.config oldVersion="12.0.0.0" 以使其与 Excel 2003 不兼容,但没有任何反应:

  <assemblyIdentity name="Microsoft.Office.Interop.Excel"  publicKeyToken="71E9BCE111E9429C" culture="neutral"/>
  <bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="12.0.0.0"/>
Run Code Online (Sandbox Code Playgroud)

任何的想法?

我正在使用 Visual Studio 2008 和 Visual Studio Tools for Office。提前致谢。

c# versions excel-2007 excel-2003

5
推荐指数
1
解决办法
7688
查看次数

你如何在Mac上更改Rails版本?

我已经安装了带有Rails 2.3.5的Snow Leopard以及其他版本(2.2.2和1.2.6).我想使用2.2.2作为我想部署的网络服务器使用2.2.x版本的Rails.我试图卸载Rails 2.3.5但得到此错误:

ERROR:  While executing gem ... (Gem::InstallError)
    cannot uninstall, check `gem list -d rails`
Run Code Online (Sandbox Code Playgroud)

有没有其他方法将Rails版本设置为其他已安装的Rails版本之一?

versions ruby-on-rails

5
推荐指数
1
解决办法
6191
查看次数

Python 版本性能

我在哪里可以找到 python 版本之间的比较速度基准?

例如 2.6、2.7、3.0、3.1 和 3.2 版本之间的性能。

python performance benchmarking versions

5
推荐指数
1
解决办法
2822
查看次数

为什么 Maven 版本插件(版本:use-latest-versions)不更新/更改 -SNAPSHOT 版本以发布(无 -SNAPSHOT 版本)?

我正在使用Version Maven Plugin插件use-latest-versions功能将 groupID=com.example* 内部依赖版本更新到最新版本。这是使用 Jenkins 作为我们 CI 系统的一部分执行的。

当开发人员开始开发新功能时,他们对代码进行分支,在分支上工作,当新功能实现(或部分实现)时,代码会合并回主干(通常每周多次)。

分支版本更新:

  • 使用“快照”配置文件。请参阅下面的 pom.xml 快照配置文件配置和 Artifactory repo 配置
  • 用于更新版本的命令: mvn -P snapshot -B versions:use-latest-versions versions:update-properties -Dincludes=com.example* -DexcludeReactor=false -DallowSnapshots=true ...

中继版本更新:

  • 使用“生产”配置文件。见下面的 pom.xml 生产配置文件配置和 Artifactory 配置
  • 用于更新版本的命令: mvn -P production -B versions:use-latest-versions versions:update-properties -Dincludes=com.example* -DexcludeReactor=false ...

有时分支构建将 com.example* 依赖版本更新为“...-SNAPSHOT”版本(这是正常的,因为 libs-snapshot Artifactory 存储库用作可以具有 -SNAPSHOT 依赖版本的依赖库)。这些版本更新被检查回源代码管理 (svn)。

当代码(包括 pom.xml 版本更新更改)从分支合并回主干并执行主干构建时,所有 com.example* 内部依赖版本都应更改/更新到最新发布版本。但是由于某些原因,当依赖版本中有“-SNAPSHOT”时,版本:use-latest-versions不会将版本更改/更新到最新版本(无 -SNAPSHOT)版本。


例子:

Artifactory 存储库具有流动版本:

  • libs-snapshot 有“com.example:myLib:1.1.10-SNAPSHOT”、“com.example:myLib:1.1.11-SNAPSHOT”
  • libs-release 有“com.example:myLib:1.1.9”、“com.example:myLib:1.1.12”

使 myApp 分支构建将从 libs-snapshot 获取依赖版本并将 com.example:myLib …

plugins versions release snapshot maven

5
推荐指数
1
解决办法
7348
查看次数