Greg Robinson's Blog

I report it, you decide

Click Once

Custom Authentication in Windows Forms

DataBinding Stuff

Favorite Links

My book contribution

My Book Reviews

My Personal Life

Richmond, VA .NET Users Group

Smart Client Stuff

What I am reading

April 2004 - Posts

I am canceling all .NET Technical Publication subscriptions

MSDN this Month: 95% Longhorn

.NET Journal 95%  VS 2005 and Why Chris Sells quit consultant (do I really care...I pay to know this?)

Others, same thing.  Very disappointing..if it was free, no problem, but I pay for this stuff and I can't even use it.

I am surprised they are not doing articles and what its like to work at Microsoft.

 

 

 

 

 

Calendar only works if Outlook is open

I've gotten in the habit of closing applications once I am done with them.  Well, duh,  Microsoft Calendar only works if Outlook is open.  Missing 2-3 appointments was a tough way to learn this.

 

Update on our XPish process

We finished iteration #3, 2 days behind schedule.  The customer knew this ahead of time and agreed to it.  Actually, the customer suggested the extra 2 days.

Overall, its going very well.  Communication is better than ever.  Expectations are better than ever.  I am having a difficult time adding testing time to our iteration.  Our tester is also a support person.  So, on any given week this person could have 40 hours of support to do and no test time.  This is making it tough to get testing completed by the end of the iteration.  Suggestions?

We have agreed to a 1 week 'clean up' iteration.  We will be using this time to complete all outstanding items from the first 3 iterations and to plan the next 1-2 iterations.

Would I do this again?  Without hesitation, yes.  The customer knows everyday where the project is (5 minute stand up meetings) and the customer has input on what stays and comes out of an iteration.  There are no surprises along the way.   

 

Why do I care what it looks like inside Microsoft

There is quite a bit of blog traffic regarding Channel9 and something about a video showing what it looks like inside MS.  Me, I could care less.  No more than I care what it looks like in other folk's office.  Walls, pictures, floors, monitors, pens, paper, phones, etc. 

I am not being negative here.  It simply strikes me as odd that folks would really care and\or have an interest in this.  Heck, maybe we should video tape our office here and see what kind of response we get.

 

 

Brian Noyes

Finally ripped the plastic off my May 2004 msdn magazine, and I see Brian's Click Once article was published.  Congrats Brian!  Brian recently spoke at one of our .NET UG Meetings.  He is a great speaker and is well versed in .NET. 

Assigning a DefaultValue for a sql server uniqueidentifier datatype: NewGuid

One of our Datatables pk is a uniqueidentifier.  I could not figure out how to set the DefaultValue for this DataColumn. 

Easy enough:

col.DefaultValue = System.Guid.NewGuid

NewGuid will generate a new guid for you.  I was using NEWID on the sql side.  I can get rid of this now and set the DefaultValue.  2 birds killed with one stone.

the dreaded licenses.licx file and the IDE

After about 2-3 hours of hair pulling, I now have this figured out (thanks Jose).

Visual Studio trying to make this easier for you, adds a file to your project called licenses.licx.  Such file is a list of all the controls used in your project that require a license and when you compile your project.  The compiler automatically embeds the appropriate licenses for you into your exe. 

The controls are added to the list in licenses.licx when you drop it into a form but sometimes this does not happen. This is a Visual Studio problem not a problem specifically related to a 3rd party vendor's controls.

So, after getting a 3rd party control patch, I had to delete all of my .licx files and rebuild them.  What a mess.  The easiest way to rebuild them is to drop a dummy form into your project and drag and drop the 3rd party controls onto the form.  This will create a new .licx file with the appropriate license info.  

 

why so many instances of devenv.ex running?

One of our developers could not get a build to work....'being used by another process' error.

I asked him to shut down the IDE, blow out the bin and obj folders and try again.  Same results. 

He shut down his IDE again. I asked him to open up Task Manager and look at the Processes tab.  There was an instance of devenv.exe still running using 97% CPU.  We ended this process and his build worked fine.

I currently have one instance of the IDE open.  I looked in my Processes tab and the are 3 devenv.exe's running!  What the?

 

 

 

a stupid thing I do over and over and over....and then I did it again!

So today I am testing some code.  I keep getting a NullRef Exception.  I am beating my head against my desk why. 

So, it dawns on me I have some initialization code in the type I am instantiating. I walk through the initialization code and there it is...I do this EVERY time:

dim text as StringBuilder

I then start using text.append

For whatever reason, 100% of the time when using a StringBuilder I forget to to call New.  

So, whats yours? 

  

VS.NET and versioning conflicts

Well, it finally happened.  DLL Hell all over.  The below comes from a very reliable source.  When using a patch or new version of an assembly within the IDE, you will need to know this.

 

"In .NET there is no longer automatic upgrading of a dll to use the latest version when a patch is applied (which is what you would normally could expect in COM (activex)) because you may want to maintain a project using version x while working in another project with version y of the same component.

The "end of dll hell" means that you as a developer are the only responsible for the version of the assemblies you use in every project. So after installing a patch you could not want a certain project to be upgraded and the version shouldn’t change automatically. 

Now. In order to do the upgrade your project to use a new version of an assembly, you need to close all the designers that are open in your project (Clicking <Window|Close All Documents> menu should do it) and save your project. Once the project is saved, you can now remove the previous references and add the new ones. If you don't change the references in this way, the version the designer has loaded and the new version you are referencing could conflict and could cause a problem.  

Is important to notice that when you have added the controls to the ToolBox those links in the ToolBox points to the version of the control that were used when they were created, so if you then upgrade your project to use a newer version the ToolBox link are not automatically upgraded to point to the new version and you need to reset the ToolBox and then recreate the links for the new versions.

Also when adding a reference you must do it from the Projects tab window (instead of adding from the Add References menu) and then in the Add Reference dialog box you need to add the reference to the library project. This way you could avoid a problem in which sometimes the references do not change and reverts to a previous version (which I believe is the problem you are experiencing) "

More Posts Next page »