Visual Studio: When “Copy Local” doesn’t copy

My build machine was leaving out a referenced DLL after the standard full refresh from source control.  Eventually I find that the “Copy Local” property for said DLL was false, while on my machine it was true.  Odd.  Google gives me what seems to be the answer: cycle the “Copy Local” property from true to false and back again.  Sure enough that modifies the project file so that reference is marked as “Private”:

<Private>True</Private>

This carries through source control and ends up on the build machine, and now “Copy Local” is true there as well as my laptop.  Yay!  Not..  Still the DLL is not copied to the bin.

Back to the drawing board.  For whatever reason that DLL was in the build machine’s GAC.  A referenced assembly isn’t copied to the the bin if the DLL is in the GAC, even though the path to the DLL is specified and “Copy Local” is true.  From MSDN:

“If you deploy an application that contains a reference to a custom component that is registered in the GAC, the component will not be deployed with the application, regardless of the CopyLocal setting.”

It’s unfortunate that the build environment can affect what references are deployed, especially when the references are explicit.

To work around this, I used gacutil from an administrator VS prompt to remove the reference from the build machine’s GAC and the build finally included the needed references.

 

Trac Assign-to as Drop-Down List

I’ve got several Trac systems in use for various reasons.  However assigning tickets to a user is wide open by default.  That list can be restricted to users that have logged in and supplied their email address by changing [ticket] restrict_owner in trac.in to true.

Users that are in that Trac’s database and have the TICKET_MODIFY privilege will show up in the list.

See the Trac Tickets wiki for more.

TED Talks

I try to watch a TED talk every day.  Just before I switched the web site over to WordPress, I had watched this talk on Try something new for 30 days which I think led to my comment that I’d try this WordPress for 30 days.  I regularly grab a video in the motivational category, however, I’ve rarely been disappointed by any of them.  It’s become something I look forward to every day.  Try it for a month, you won’t regret it!

Broken Link Handling

Another benefit of moving from my ancient version of MediaWiki to WordPress is easier access to plug-ins.  Many of my links hadn’t been checked in years.  Simply adding the Broken Link Checker quickly identified links that were either shut down some time ago or were broken during the transfer from MediaWiki to WordPress.

At this point it’s quite clear to me that I’ll be sticking with WordPress for a while.