in

Platinum Bay

Peace, Love and Visual Studio Team System

.NETicated

July 2008 - Posts

  • Using a Single Strong Name Key across Multiple Projects

    When strongly naming project, the Visual Studio default behavior is to copy the source key file into each and every individual project. This might not be ideal in all cases as you may want to be able to change strong name keys across all the projects at a future time.

    Fortunately, there is a workaround using the linked files trick.

    First, create your *.snk file in the solution directory. If the project is under source control, be sure to add the *.snk file as a solution file to the solution node in Visual Studio. You can do this by right-clicking on the solution node in the Solution Explorer tool window, choosing "Add Existing Item…" and selecting the *.snk file.

    Then, in each project you wish to sign, right-click on the project node and choose Add > "Existing Item…" Browse to and select your *.snk file, but here's the twist. Instead of just clicking Add, use the dropdown arrow on the right side of the Add button and select Add as Link. This adds a reference to the original file location without copying it locally. At compile time, linked files are treated as local (to the project) files.

    Finally, right-click on the project and choose Properties. Navigate to the Signing tab, check the "Sign the assembly" checkbox, and from the dropdown list, select the fully-qualified name (FQN) that is displayed. Then type Ctrl+Shift+S (Save All) to save. The important thing to remember here is that even though the FQN was displayed in the dropdown, a relative path is stored in the *.*proj file.

    If you would like to validate that the relative path is stored, you can right-click on the project node, choose "Unload Project", right-click again, and choose Edit… In the first PropertyGroup, there is a node named AssemblyOriginatorKeyFile. You will see it is set to a relative path.

    Hope this helps

  • I’m a Team System MVP

    Last week (yes, I've been quite busy), I received an email from Microsoft announcing that I had been selected to be a Microsoft MVP for Team System. w00t! I am super excited as this is certainly a product and a product team I am very passionate about. My hope is that by receiving the MVP award I can do more of what I've been doing, because as a lot of you know I am somewhat of a community junkie <grin>

    Thank you Dani

    First and foremost I have to thank Dani Diaz, my Microsoft Developer Evangelist, who was instrumental in helping me focus my energy, providing mentoring, and in supporting my community efforts. He also nominated me for the award.

    Thank you others

    There are plenty of others who have helped me get here (and I'm sure I'll miss some): all the user group leaders who let me speak at their events, the Philly .NET User Group, Jason Gaylord, Don Demsak, Grant Holliday, Kevin Goff, Chris Love, and John Baird.

    How?

    The most common question I get now is how does someone go about getting the MVP award. There are a few points I'd like to make on this topic. First, the MVP award is given "to thank individuals for their exceptional contributions to technical communities". In essence, it has to be earned through community participation. This includes stuff like helping out in the newsgroups, speaking, and writing. Second, there are no hard and fast criteria to build an MVP plan off of.

    What's Next?

    I certainly have no plans to slow down. I'd like to maintain pace of about 3 presentations a month, as well as to start speaking at larger conferences. I am also talking to an online publisher about having a weekly column loosely focused on Team System and ALM. Who knows, maybe even a book is in order?

    But for now, who needs an MVP speaker to talk about Team System and ALM?

    P.S. - Congrats to all the other MVPs awarded this round, especially John Baird!

    Posted Jul 09 2008, 01:41 PM by Steve with 1 comment(s)
    Filed under: ,
Powered by Community Server (Commercial Edition), by Telligent Systems
© Platinum Bay | Some Rights Reserved Creative Commons License

Disclaimer: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever (abusive, profane, rude, or annonymous comments) - so keep it polite, please.