我在家里使用VS2008而且喜欢它,在接近2005年到2008年升级的工作时,我关注的一个明显原因是我们所处的2005年解决方案。
虽然我们可能很容易升级到2008年,但我们会与使用2005年的其他开发人员合作,并且不会在不久的将来升级到2008年。
我理解 项目文件交叉兼容没有问题,但解决方案文件不
以下是我目前遇到的一些链接:
我很好奇,让MS接近这个问题吗?他们有没有解决过这个问题?由于解决方案文件之间没有真正的更改(即2008年可能很容易忽略2005年的额外内容),这似乎是一次相当糟糕的交叉竞争尝试。
PS:这当然是假设我们没有使用3.5中的任何新框架内容。
答案 0 :(得分:3)
最简单的方法就是保留两份sln文件 - 一套2005套装和一套2008套装。实际上,我经常认为sln文件完全是瞬态的和开发人员特定的(很少在源代码控制中),但不同的人发现不同的设置很有帮助。 MSTest是一个很大的罪魁祸首(darned testrunconfig文件......纯粹疯狂......)。
请注意,使用2005和2008还会冒着您的2008开发人员意外使用C#3功能的风险。其中一些并不明显,例如改进的泛型类型推断 - 例如:
int[] data = {1,2,3,4,5};
string[] strings = Array.ConvertAll(data, delegate(int i)
{return i.ToString();});
这需要C#2.0中的<int,string>
,但不需要C#3.0中的{{1}}。类似的风险是任何生成代码的设计人员/其他工具 - VS2008 / C#3.0版本可能包含“部分方法”,这在C#2.0中不起作用。
如果可以的话,尝试在相当短的时间内升级所有人,以尽量减少这种风险带来的痛苦......