2009-12-07 100 views
2

我想在我的仓库中有标记或子模块的不同版本的.NET,就像可能与其他外部产品nunit,ninject,rhinomocks一样。 projectX创建与.NET 3.0和NUnit 2.4.x的 Projecty与.NET 3.5和NUnit 2.5.X 项目Z的使用.NET 4.0B2创建和NUnit的试制释放是否有可能使用.NET版本而不安装该版本?

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

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

回答

3

这当前不是受支持的方案。为了准确地构建一个具有.Net风格的项目,您必须在机器上安装相应的.Net SDK(或者在某些情况下只是重新安装)。本质上没有办法将.Net框架检入源代码控制。

0

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

+0

我从来没有真正运行过我在CI服务器上开发的任何代码,到目前为止还没有出现问题。我并没有宣传开发箱不应该有.NET x.x。只是说这将是很好的选择。我不需要安装'nunit'来运行我的测试我不想安装.NET 4.0B2来编译,测试和提交。无法将.NET 3.5或4.0B2安装到CI服务器,限制了我可以克服的选项,如果我可以像所有其他依赖项一样将其包含在项目中,那就完全可以。 – 2009-12-07 23:39:31

+0

如果您无法运行代码,那么您如何运行测试?他们只是.NET代码。 NUnit是一回事,.NET框架是一个完整的“另一件事。 – 2009-12-08 15:49:27

0

这不支持。 MSBuild随.NET Framework本身一起提供,所以如果要使用MSBuild版本X(其中X为(2.0/3.5/4.0))构建,则需要在建筑物的机器上安装相应的.NET Framework版本(或更高版本)

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

相关问题