[Mono-bugs] [Bug 706526] New: FileNotFoundException in SatelliteResourceMismatchRule under .NET 4.0

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Jul 18 13:30:47 EDT 2011


https://bugzilla.novell.com/show_bug.cgi?id=706526

https://bugzilla.novell.com/show_bug.cgi?id=706526#c0


           Summary: FileNotFoundException in SatelliteResourceMismatchRule
                    under .NET 4.0
    Classification: Mono
           Product: Mono: Tools
           Version: 2.10.x
          Platform: 64bit
        OS/Version: Windows 7
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: Gendarme
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: shumwadu at yahoo.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: Other
           Blocker: ---


Description of Problem:
We've recently updated our C# projects from .NET 3.5 to 4.0. We run Gendarme on
our local machines and on CC.NET. After updating all of our projects, Gendarme
is is getting this error for one of our assemblies (with logging turned on):

An uncaught exception occured. Please fill a bug report at
https://bugzilla.novell.com/Rule:  
Gendarme.Rules.Globalization.SatelliteResourceMismatchRuleTarget: Core.UI,
Version=27.0.0.0, Culture=neutral, PublicKeyToken=nullStack trace:
System.IO.FileNotFoundException: Could not load file or assembly
'System.Drawing, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot
find the file specified.File name: 'System.Drawing, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'  at
System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError,
Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark,
BooleanloadTypeFromPartialName)  at
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError,
Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)  at
System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError,
Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)  at
System.Type.GetType(String typeName, Boolean throwOnError)  at
System.Resources.ResourceReader.FindType(Int32 typeIndex)  at
System.Resources.ResourceReader.DeserializeObject(Int32 typeIndex)  at
System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode&
typeCode)  at System.Resources.ResourceReader.GetValueForNameIndex(Int32 index)
 at System.Resources.ResourceSet.ReadResources()  at
Gendarme.Rules.Globalization.SatelliteResourceMismatchRule.CheckSatelliteResource(EmbeddedResource
mainResource, EmbeddedResource satelliteResource, IMetadataTokenProvider
satelliteAssembly)  at
Gendarme.Rules.Globalization.SatelliteResourceMismatchRule.CheckSatelliteAssembly(AssemblyDefinition
satellite)  at
Gendarme.Rules.Globalization.SatelliteResourceMismatchRule.CheckAssembly(AssemblyDefinition
assembly)  at Gendarme.Framework.Runner.OnAssembly(RunnerEventArgs e)  at
Gendarme.ConsoleRunner.OnAssembly(RunnerEventArgs e)  at
Gendarme.Framework.Runner.Run()  at Gendarme.ConsoleRunner.Run()  at
Gendarme.ConsoleRunner.Execute(String[] args)=== Pre-bind state information
===LOG: DisplayName = System.Drawing, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a(Fully-specified)LOG: Appbase =
file:///c:/sd/trunk/bin/prod/LOG: Initial PrivatePath = NULLCalling assembly :
(Unknown).===LOG: This bind starts in default load context.LOG: No application
configuration file found.LOG: Using machine configuration file from
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.LOG:
Post-policy reference: System.Drawing, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3aLOG: Attempting download of new URL
file:///c:/sd/trunk/bin/prod/System.Drawing.DLL.LOG: Attempting download of new
URL file:///c:/sd/trunk/bin/prod/System.Drawing/System.Drawing.DLL.LOG:
Attempting download of new URL
file:///c:/sd/trunk/bin/prod/System.Drawing.EXE.LOG: Attempting download of new
URL file:///c:/sd/trunk/bin/prod/System.Drawing/System.Drawing.EXE.

The same error occurs on multiple computers. Gendarme works fine on other
assemblies that reference System.Drawing as well as assemblies that reference
the one that is broken. I created a config file for gendarme and specified .NET
4.0, but I still get the same error. I removed the reference and added it again
with no change. If I run our program, the controls in this assembly load and
work without any issues. We have unit tests in this assembly and NUnit and
PartCover also run fine.


Steps to reproduce the problem:
1. Run gendarme on our Core.UI assembly


How often does this happen? 
Every time it is run.  Tested on multiple computers with same result.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list