CruiseControl.NET 1.8
CruiseControl.NET 1.8
I tried to upgrade to 1.8 this morning and the Vault Pro 6 CCNet plugin is not working with the latest release. There was no problem using 1.6.
The log error message is as follows:
Source control failure (GetModifications): Could not load file or assembly 'ThoughtWorks.CruiseControl.Remote, Version=1.5.7256.1, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
The log error message is as follows:
Source control failure (GetModifications): Could not load file or assembly 'ThoughtWorks.CruiseControl.Remote, Version=1.5.7256.1, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Re: CruiseControl.NET 1.8
What operating system do you have this installed on?
Beth Kieler
SourceGear Technical Support
SourceGear Technical Support
Re: CruiseControl.NET 1.8
Vault doesn't support CC.NET 1.8 currently. There appear to have been some changes. If you can you will want to return to the version you were at until this can be addressed.
F: 16488
F: 16488
Beth Kieler
SourceGear Technical Support
SourceGear Technical Support
Re: CruiseControl.NET 1.8
I have done that but look forward to an update of the plugin as we would like to use some of the new features in the 1.8 release.
Cheers,
Brett
Cheers,
Brett
Re: CruiseControl.NET 1.8
Brett,
Looks like all versions of the Vault plugin (including Vault 6) will work with CC.NET 1.5 and CC.NET 1.6. However, there will be CI issues when polling using CC.NET 1.8.
I investigated the the source for CC.NET 1.8. It turns out the maintainers modified the project for ThoughtWorks.CruiseControl.Remote.dll to turn it into a strongly named assembly. Up to this point, all of the previous versions of this CC.NET assembly are not signed.
With .NET, when a strongly named assembly is created, it does a version check when the DLL is loaded and checks all the dependencies. If that version check fails, the assembly fails to load. This was one of the intentions of avoiding DLL Hell.
However, in the case of something like CruiseControl, that is going to cause problems as most plugins are being compiled against the DLL libraries from the open API. So, when people self-compile stable or nightly CC.NET source, pre-existing plugins will not work. When users grab installs from release candidates, bug fix releases, major release, etc., no pre-existing plugin will work.
I've notified one of the maintainers of CC.NET bringing him up to date on the problem. We're waiting for a response. In the meantime, you can use up to CruiseControl.NET 1.6 or if you really need CC.NET 1.8, one could grab the source to CruiseControl.NET 1.8, uncheck the option to sign the ThoughtWorks.CruiseControl.Remote project, compile the project and use those binaries.
Looks like all versions of the Vault plugin (including Vault 6) will work with CC.NET 1.5 and CC.NET 1.6. However, there will be CI issues when polling using CC.NET 1.8.
I investigated the the source for CC.NET 1.8. It turns out the maintainers modified the project for ThoughtWorks.CruiseControl.Remote.dll to turn it into a strongly named assembly. Up to this point, all of the previous versions of this CC.NET assembly are not signed.
With .NET, when a strongly named assembly is created, it does a version check when the DLL is loaded and checks all the dependencies. If that version check fails, the assembly fails to load. This was one of the intentions of avoiding DLL Hell.
However, in the case of something like CruiseControl, that is going to cause problems as most plugins are being compiled against the DLL libraries from the open API. So, when people self-compile stable or nightly CC.NET source, pre-existing plugins will not work. When users grab installs from release candidates, bug fix releases, major release, etc., no pre-existing plugin will work.
I've notified one of the maintainers of CC.NET bringing him up to date on the problem. We're waiting for a response. In the meantime, you can use up to CruiseControl.NET 1.6 or if you really need CC.NET 1.8, one could grab the source to CruiseControl.NET 1.8, uncheck the option to sign the ThoughtWorks.CruiseControl.Remote project, compile the project and use those binaries.
Jeff Clausius
SourceGear
SourceGear
Re: CruiseControl.NET 1.8
Thanks for the feedback, we are happy to remain on 1.6 for the moment, there is absolutely no rush for us to go onto 1.8 - we just liked the look of some of the new features.
Cheers,
Brett
Cheers,
Brett
Re: CruiseControl.NET 1.8
NP. I'll update the post as soon as I hear back from them.
Jeff Clausius
SourceGear
SourceGear
Re: CruiseControl.NET 1.8
BigBrett,
The CC.NET developers have addressed this issue - http://www.cruisecontrolnet.org/issues/171. Looks like this is scheduled to go out in CC.NET 1.8.1.
The CC.NET developers have addressed this issue - http://www.cruisecontrolnet.org/issues/171. Looks like this is scheduled to go out in CC.NET 1.8.1.
Jeff Clausius
SourceGear
SourceGear
Re: CruiseControl.NET 1.8
Thanks for the feedback
Re: CruiseControl.NET 1.8
CC.Net 1.8.1 has been released and works great with Vault Pro plugin.
Cheers,
Brett
Cheers,
Brett