是否可以使用.NET版本构建而无需“安装”该版本?

时间:2009-12-07 18:38:09

标签: .net msbuild continuous-integration build-automation

我想在我的存储库中作为标记或子模块使用不同版本的.NET,就像其他外部产品nunit,ninject,rhinomocks一样。 ProjectX是使用.NET 3.0和nunit 2.4.x创建的 Projecty是使用.NET 3.5和nunit 2.5.x创建的 Project Z是使用.NET 4.0B2和nunit的预生产版本

创建的

我想这样做是为了能够从机器进行更改而无需对该机器进行更改,例如将其更新到最新版本的.NET(如果不是)。 如果我想在仍然为2.0的机器上更改3.0,3.5甚至4.0B2项目(可能它不是我的,也不是我的管理员权限)。我想检查项目,它需要的.net版本(以及其他版本库nunit,ninject,rhinomocks等来自存储库)使用Notepad2或其他NON-Visual Studio编辑器进行更改(因为VS需要安装为以及安装的框架),运行构建脚本并提交/推送更改。完成后,删除已签出/克隆的目录和文件,就像我从未在该计算机上一样。

背景: 我的存储库由许多较小的不相关项目组成,而不仅仅是一个巨大的Web应用程序/站点。 为什么要维护外部库的版本?因为我并不总是想一次更新所有项目。如果我这样做,那就是一个脚本。 每个开发人员都是远程办公顾问。谁知道他们的机器上有什么?谁关心一切(.NET框架除外)是通过构建脚本指出的。 也许我的机器死了,我需要用我的祖母。也许我正在度假,有人代码破了(显然不是我的),我需要使用这些酒店。

3 个答案:

答案 0 :(得分:3)

目前不支持此方案。为了准确地构建给定.Net风格的项目,您必须在机器上安装相应的.Net SDK(或者在某些情况下只是redist)。基本上无法将.Net框架检查为源代码控制。

答案 1 :(得分:0)

不要选择尼特,但这不意味着他们不一定能运行他们正在构建的代码吗?如果是这样,这不是一个坏主意吗?

答案 2 :(得分:0)

不支持此功能。 MSBuild随.NET Framework本身一起提供,因此如果您想使用MS为(2.0 / 3.5 / 4.0)的MSBuild版本X进行构建,则需要安装相应的.NET Framework版本(或更高版本)机器在做建筑物。

由于您关注权限并运行不同版本的.NET,因此您可能对正在发布的Lab Management Visual Studio 2010感兴趣。