Can't use Linq to STDF library...

Mar 26, 2012 at 7:40 AM

thanks for codeplex to support the stdf dllfor C#...

I begin to study and use this dll in a few days. 

When I try the example is the homepage...When run time , VS2010 will pop up an execption as follow

System.Security.VerificationException : Anonymously Hosted DynamicMethods Assembly

but compiler is OK...

the following is my code... very easy.. but cant run..

var stdf = new StdfFile(openFileDialog1.FileName);

                //silly query
                var query = from r in stdf.GetRecords()
                            select r;
                MessageBox.Show(query.Count().ToString());

the error seem due to I want to access the "query" variant...
thk

Mar 26, 2012 at 8:55 AM
Edited Mar 26, 2012 at 8:58 AM

I have find the answer...

due to the STDF File...not the library...

I have some stdf file may cause the dll run time error...

 

Coordinator
Mar 26, 2012 at 7:37 PM

Can you share the file?

Mar 27, 2012 at 3:34 AM

 yes ~~but  I don't know how to send  files to you....

Coordinator
Mar 27, 2012 at 4:55 AM

mark @ marklio dot com  How big is it?  You can SkyDrive or DropBox it if it is too big for your outgoing mail server.

Mar 27, 2012 at 5:01 AM

mailed to you....^^

 

Coordinator
Mar 27, 2012 at 5:03 AM

Awesome.  I'll take a look.  May take me a day or so.  Most likely, these files come from a tester I haven't seen before and contains unusual records, and have uncovered a bug in the record parsing codegen logic that is making it general unverifiable IL code.  Shouldn't be too hard to sort out.

Coordinator
Apr 3, 2012 at 7:38 AM

OK, I've looked at the stdf files you sent.  All of them successfully worked for me, but I have some local changes I'm working on that might have fixed it.  Before I assume I've fixed it, can you tell me the version .NET you are running on?  (.NET 3.5, .NET 4.0?)

Apr 3, 2012 at 7:59 AM

thanks for your modify... My .NET Version is 4.0....

thk...

Coordinator
Apr 4, 2012 at 7:45 AM

OK, verification exception under .net 4 is a known issue that I'm working on.

Coordinator
Apr 4, 2012 at 6:35 PM

These problems seems to be resolved with my codegen refactoring, which was aimed at cleaning up things like this.  The code is still a bit bloated and messy, but the problems are resolved.  All the files you sent can be parsed successfully when running on .NET 4.  You can take a look at the updated code here. After some testing and cleaning, we'll roll this back into the main branch and do another official build/release.

http://linqtostdf.codeplex.com/SourceControl/network/forks/marklio/CodeGenRefactoring

Apr 5, 2012 at 7:24 AM

thanks...I will try this version with other stdf files...

Coordinator
Apr 5, 2012 at 10:56 PM

The refactoring has been pushed into the main branch as well.  Please file issues of let me know if you run into problems.

Apr 24, 2012 at 7:59 AM

Dear marklio..

thank you for your support...

I have tried the stdf files I have and didn't run into any problems...

and I find that the "Paul Hooper" also update some new version for this library...

Do I need to download to try again!?

thk..

 

 

Coordinator
Apr 24, 2012 at 4:36 PM

No, you don't need to try again. Were working on some things to make it better and more consistent so we can do another release.

Jun 6, 2012 at 7:39 AM
Edited Jun 6, 2012 at 7:50 AM

Dear marklio...

 

I have try run this library much time... and then I find another question as following...

I want to get the total "wir record" count  in stdf file...

the code is :

var wirresult=from wir in stdf.GetRecords().OfExactType<Wir>()                                          

                          select wir;                          

wafercnt = wirresult.Count();

......

In the " wafercnt = wirresult.Count();" statement...

no meter how much cnt in wir result, (usually is 1)  It will cost almost  10 secs to run this statement...

similary...when I want to get another recoud type count  for example..

the code is:

var sbrresult=from sbr stdf.GetRecords().OfExactType<Sbr>()                                          

                          select sbr;                          

sbrcnt = sbrcnt .Count();

in sbrcnt = sbrcnt .Count(); statement, it is very fast....

so I think maybe wir record structure have some problems.....( I find out hbr have the same problem, but sbr is very fast...)

thank you...