Hi Brett,

We upgraded to a newer version of NetReflector to resolve some of the
issues that people had raised with CC.Net. Unfortunately this means
that the plug-ins now get the error that you see.

The good news is this is reasonably easy to fix. Add the following
section into your app.config (either ccnet.exe.config or
ccservice.exe.config):

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="NetReflector"
publicKeyToken="2f4dd8b32acbcd8e" culture="neutral" />
        <bindingRedirect oldVersion="1.0.0.120"
newVersion="1.1.2009.1004"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

More details on this are available in other discussion:
http://groups.google.com.ag/group/ccnet-user/browse_thread/thread/57a5619b186a76d5/e13062a92576d920?hl=en&lnk=gst&q=netreflector+version#e13062a92576d920.


Craig

On Jun 4, 2:27 am, Brett <[email protected]> wrote:
> I installed 1.4.4 over an existing 1.4.3 installation. The server
> would not start after the upgrade, the following error was logged:
>
> 2009-06-03 06:24:46,423 [1640:ERROR] INTERNAL ERROR: Could not load
> file or assembly 'NetReflector, Version=1.0.0.120, Culture=neutral,
> PublicKeyToken=2f4dd8b32acbcd8e' or one of its dependencies. The
> located assembly's manifest definition does not match the assembly
> reference. (Exception from HRESULT: 0x80131040)
> ----------
> System.IO.FileLoadException: Could not load file or assembly
> 'NetReflector, Version=1.0.0.120, Culture=neutral,
> PublicKeyToken=2f4dd8b32acbcd8e' or one of its dependencies. The
> located assembly's manifest definition does not match the assembly
> reference. (Exception from HRESULT: 0x80131040)
> File name: 'NetReflector, Version=1.0.0.120, Culture=neutral,
> PublicKeyToken=2f4dd8b32acbcd8e'
>    at System.ModuleHandle.ResolveType(Int32 typeToken,
> RuntimeTypeHandle* typeInstArgs, Int32 typeInstCount,
> RuntimeTypeHandle* methodInstArgs, Int32 methodInstCount)
>    at System.ModuleHandle.ResolveTypeHandle(Int32 typeToken,
> RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[]
> methodInstantiationContext)
>    at System.Reflection.Module.ResolveType(Int32 metadataToken, Type[]
> genericTypeArguments, Type[] genericMethodArguments)
>    at System.Reflection.CustomAttribute.FilterCustomAttributeRecord
> (CustomAttributeRecord caRecord, MetadataImport scope, Assembly&
> lastAptcaOkAssembly, Module decoratedModule, MetadataToken
> decoratedToken, RuntimeType attributeFilterType, Boolean
> mustBeInheritable, Object[] attributes, IList derivedAttributes,
> RuntimeType& attributeType, RuntimeMethodHandle& ctor, Boolean&
> ctorHasParameters, Boolean& isVarArg)
>    at System.Reflection.CustomAttribute.GetCustomAttributes(Module
> decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount,
> RuntimeType attributeFilterType, Boolean mustBeInheritable, IList
> derivedAttributes)
>    at System.Reflection.CustomAttribute.GetCustomAttributes
> (RuntimeType type, RuntimeType caType, Boolean inherit)
>    at System.RuntimeType.GetCustomAttributes(Type attributeType,
> Boolean inherit)
>    at Exortech.NetReflector.ReflectorTypeAttribute.GetAttribute(Type
> type)
>    at Exortech.NetReflector.NetReflectorTypeTable.Add(Type type)
>    at Exortech.NetReflector.NetReflectorTypeTable.Add(Assembly
> assembly)
>    at Exortech.NetReflector.NetReflectorTypeTable.Add(String
> assemblyFilename)
>    at Exortech.NetReflector.NetReflectorTypeTable.Add(String path,
> String searchPattern)
>    at
> ThoughtWorks.CruiseControl.Core.Config.NetReflectorConfigurationReader..cto­r
> ()
>    at
> ThoughtWorks.CruiseControl.Core.CruiseServerFactory.NewConfigurationService
> (String configFile)
>    at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateLocal
> (String configFile)
>    at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateRemote
> (String configFile)
>    at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.Create
> (Boolean remote, String configFile)
>    at ThoughtWorks.CruiseControl.Core.ConsoleRunner.LaunchServer()
>    at ThoughtWorks.CruiseControl.Core.ConsoleRunner.Run()
>    at ThoughtWorks.CruiseControl.Console.AppRunner.Run(String[] args)
>
> === Pre-bind state information ===
> LOG: User = BOBBLADE\Administrator
> LOG: DisplayName = NetReflector, Version=1.0.0.120, Culture=neutral,
> PublicKeyToken=2f4dd8b32acbcd8e
>  (Fully-specified)
> LOG: Appbase = file:///C:/Program Files/CruiseControl.NET/server/
> LOG: Initial PrivatePath = NULL
> Calling assembly : ccnet.fortressvault.plugin, Version=4.1.4.18402,
> Culture=neutral, PublicKeyToken=null.
> ===
> LOG: This bind starts in default load context.
> LOG: Using application configuration file: C:\Program Files
> \CruiseControl.NET\server\ccnet.exe.Config
> LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET
> \Framework\v2.0.50727\config\machine.config.
> LOG: Post-policy reference: NetReflector, Version=1.0.0.120,
> Culture=neutral, PublicKeyToken=2f4dd8b32acbcd8e
> LOG: Attempting download of new URL file:///C:/Program Files/
> CruiseControl.NET/server/NetReflector.DLL.
> WRN: Comparing the assembly name resulted in the mismatch: Minor
> Version
> ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing
> terminated.
>
> Removing ccnet.fortressvault.plugin caused the error to move to
> CCNet.Sequential.PlugIn instead. Replacing NetReflector.dll with the
> version for 1.4.3 also failed as CCNet itself was looking for the new
> version of that DLL (1.1.2009.1004).
>
> Is there any way for me to get 1.4.4 running ? I have downgraded to
> 1.4.3 in the mean time.
>
> Cheers,
> Brett

Reply via email to