Could not load file or assembly 'AjaxControlToolkit' or one of its dependencies. Access is denied.

I wanted to post a solution to an issue that comes up every time I have to setup a new developer in our organization:
    Could not load file or assembly 'AjaxControlToolkit' or one of its dependencies. Access is denied.
My solution is to grant Full Control to the "Everyone" group to the folder C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
I know there are other solutions to this problem, but this one seems the simplest for me.
Posted by datagridgirl | 13 comment(s)
Filed under: -- now live

To coincide with the launch of ASP.NET 2.0 (oh, is that today?), I'm launching the second installment of the %Girl franchise,  Maybe Rory will stop making fun of me now.  The concept will be much like, though it's driven off of dasBlog, which somebody sold me on the benefits of, and so far I like what I've seen.

I'll be posting mostly there from now on, so if you were a subscriber here, please subscribe over there.  Also, since the site is brand new I'd appreciate any links I can get (Google juice).



Google Ads

Hey, I just got my first check in the mail for the Google ads I put on a few months ago.  Thanks for all the clicks!


New Microsoft Certs

Hey, it looks like there's some official info out now about the new Microsoft certs for .NET 2.0 and more.  Now there's going to be an MCTS (Microsoft Certified Technology Specialist), available in 5 different areas:

The last BizTalk cert exam was for BizTalk 2000, so I guess we're skipping over BizTalk 2002 and BizTalk 2004.  Glad to hear they're finally updating the cert for this.

The 2.0 MCTS certs all have one exam in common:  70-536 .NET 2.0 Application Development Foundation

There's also an MCITP (Microsoft Certified IT Professional), MCPD (Microsoft Certified Professional Developer), and MCA (Microsoft Certified Architect).  I think they like to add some new acronyms every few years so that none of the alphabet feels "left out."

Hopefully I'll get a beta invitation to a few of these since I have previous certs. 


Sorting with Datagrid ViewState disabled

I've talked in the past about sorting a Datagrid without ViewState.  The key to getting this to work is calling .DataBind() on the DataGrid during Page_Load in order to wire up the SortCommand event.  I wanted to clarify something though, the .DataBind() doesn't have to be to the *real* .DataSource of the Datagrid, it can just be a dummy value.  Like so:

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
   dgReport.DataSource = New DataTable
'bind to dummy datasource to wire up SortCommand event (ViewState is disabled)
End Sub

Private Sub dgReport_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles dgReport.SortCommand
   BindData() 'bind to *real* datasource
End Sub


showModalDialog and postbacks in ASP.NET

I learned something new today that my coworker Dennis spent several agonizing hours trying to solve.  He was using window.showModalDialog to open a modal window on the client from Javascript, but whenever that page posted back, it would spawn off a new window.  (A normal worked fine, this was only a problem for modal windows).  Some searching turned up several people with the same problem, and the solution once found (here), was quite simple:  just include this line in the < HEAD > html of the modal window:

<base target=_self>

Hope this saves someone else some time!

Datagrid and GridView Talk in Columbia, SC June 2nd

Hi there,

I'm giving a talk tomorrow night at the Columbia, SC .NET User Group on "Web Grids Present and Future", as in the asp:DataGrid control today, and the asp:GridView control in the next version, along with its related new controls.  Come by and say hello if you're in that part of the world.

Also I'm alive--I had several emails inquiring :)

Thanks!    -- Datagrid Girl / GridView Girl

SSW Code Auditor

When I was a Programmer Lead type, I used to love giving code reviews.  I mean, what could be more satisfying than getting all anal with someone and pouring over their work to make sure that they met all of your coding standards.  (So much more fun to do on someone else's code than your own...).  But fun as it may be (for weirdos like me at least), there's no real reason to do this by hand when there are automated tools to handle the code checking.

The one I looked at today is SSW's Code Auditor, done by my dear Australian friend and RD Adam Cogan, the guy who also brings us all the "Better Rules To..."  Adam's CodeAuditor is a Reg Ex-based tool written in C#, and has built-in rules to handle C#, VB, and web files.  Some of the rules I would argue with--don't get me started on Option Strict, but I learned last year not to argue with Adam--and other rules just need to be configured to meet your own organization's coding standards.  I played around with a few of the rules, and it's actually very easy to customize them, so don't just go with what's provided--let the built-in rules inspire you to get even more rigorous on your developers' (or your own) code.

(I'm still not sure what "kit up the cogs" means--must be an Australian thing.)

I ran the audit--it runs very fast, by the way--against some ASP.NET files I had created for a freelance consulting client recently to try it out, and naturally the audit found about 18 things it didn't like about me.  I realized when I looked at the output (and looking back at the rules), that the WEB library of rules was really geared more towards HTML files, my first clue was this "error", (does this tool not know me at all??):

line 18 column 1 - Error: <asp:datagrid> is not recognized!

But the rules were great for pure HTML, things like avoiding <FONT> tags, requiring a <TITLE> tag, requiring the use of a specific CSS file, and some rules that will even help improve your Google page rankings, and I think Adam has a related article on optimizing your pages for Google.  Also it looks like you can have the Code Auditor check the *output* of your ASP.NET pages to check the resultant HTML, so that's pretty cool.

Other features to note:

  • Can automate the auditor to run on a schedule and email the reults--terrorize your developers!  You only thought you could frighten them before with micromanaging them, just think, now you can micro-audit them too :)
  • Rules are more customizable than FxCop, plus it runs against the source files themselves rather than the compiled assembly
  • There are some very interesting sample rules to test for (completely customizable of course), such as requiring the use of the Exception Management Application Block
  • Can specify certain elements as required on all pages in a web app
  • Here's a rule we can all agree on for .vb files, prohibit the use of "On Error Resume Next".  Some people don't realize that this one actually survived into VB.NET--please don't tell them!

To me, it seemed particularly useful on my VB class files, where most of the logic was for this application anyway.  There are also plenty of rules built in for windows developers, whether you're using VB or C#.  Go give it a try, there's a free trial download available here.


Irritating Microsoft People

I'm glad I'm not the only person I know who likes to be irritating.  I've never been chased by Anders Hejlsberg with a baseball bat, but now I have something to aspire to:  Mark Miller on "How to Piss Off Microsoft Guys".  Mark's also the creator of the glorious CodeRush product for Visual Studio, when he's not up late bothering me with IMs about the presidential debates.


P.S. Thank you to all who sent condolences about Porty, and even Douglas who suggested I just get a replacement.  What, some kind of rebound laptop??  :)


Several people have written to ask me why I haven't blogged since July, and the answer is that it's been a very eventful couple of months, but most importantly, I'm saddened to announce the death of Porty the Portege.  Porty passed on in his sleep (hibernate mode) at 10:54AM PDT, August 2 2004 after a massive hardware failure the previous day.  Porty was 15 months old, it was just a few days before his 16-month birthday (you know you're a geek when you search google for your old blog entries to find out when you bought your TabletPC--the entry is here, apparently).  I also that there are laptop-years, similar to dog-years, so a month in laptop-time is roughly equivalent to 3 human years.  Which means that Porty died at the fairly young age of 45, but he lived a very full life, having travelled with me to 4 countries, and presented to a total of probably a thousand people.

Now that an appropriate amount of time has elapsed since Porty's demise (god rest his soul), I'm beginning to take a look at other Tablets.  My friend Jay swears by the Fujitsu T3000D, but I'm also partial to the ViewSonic convertible because of its very light weight--I travel a good bit so weight is important to me.

It should also be noted that Porty was an organ donor, and his hard drive (brain) will likely see use again.  In lieu of flowers, Porty requested that money be donated to his favorite laptop chartiy, please inquire for details.


More Posts Next page »