From: Jonathan P. <Jon...@au...> - 2006-10-06 12:03:19
|
Norman Rasmussen: > On 10/5/06, Daniel Piessens <dan...@gm...> wrote: >=20 > Does anyone mind if CC.NET source is upgraded to .Net framework 2.0? > This means that you won't be able to help contribute to the CC.NET > source code using VS 2003, but you will have to use VS 2005, or > notepad, or SharpDevelop instead. >=20 I'd like to point out that switching to VS 2005 impacts more than just the CC.NET developers. For a start it would require users to install .NET 2.0 on their build servers. Likewise if CCTray were to become a .NET 2.0 application, the same requirement would exist on client machines. Yes, .NET 1.1 and .NET 2.0 can coexist peacefully on a machine. However, several things that worked on a machine with only .NET 1.1 installed can suddenly break when 2.0 is installed. For example, NAnt 0.85rc4 will by default run under 2.0 if it is installed. This means that : - unless overriden with the nant.settings.currentframework property, NAnt will use the 2.0 compilers and build 2.0 assemblies; - custom tasks will have to be 2.0-compatible; - the nunit2 task, which runs tests in-process with NAnt, will run tests under 2.0 which may not be what you want. This can be worked around by removing a <supportedRuntime> element in nant.exe.config but it's not entirely obvious. > Your existing projects written in .Net 1.0, .Net 1.1, and .Net 2.0 > will continue to be built correctly as CC.NET tasks, so there's > nothing to worry about there - this change only affects people > altering the CC.NET source code. This is simply not true. If CC.NET is built as a set of 2.0 assemblies, plugins will have to be built as 2.0 assemblies too, because a 1.1 project cannot reference a 2.0 assembly. Unless the types referenced by plugins are somehow extracted so that they can continue to be built under 1.1... What is true is that existing plugins, built against an 1.1 assembly, will load under 2.0 (barring breaking changes to the API of course), and work as expected as long as the .NET APIs they use were not broken in 2.0 (while Microsoft tried hard not to break anything, there are some runtime-breaking changes, some documented and some not). But you would definitely need .NET 2.0 to rebuild them against a 2.0-built CC.NET. Cheers, --Jonathan |