How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
MSBuild is more than just a list of source files; it is a declarative programming language, and with the new features in the .Net 4.0 engine, a rather expressive language to boot. This book explores the Microsoft Build Engine used by C#, VB.Net, F# and C++ projects-the 4.0 version shipped with Visual Studio 2010-in depth and in a very practical way, full of examples not covered in the reference material (or in the other book on MSBuild). Inside you'll find: How to unify all your projects How to add help to your build How to simulate loops and data joins How to use inline C# code in project files How to enhance logging ...and over 90 additional tips and tricks, and including some extensive walkthroughs of more advanced topics, like dealing with huge projects and rolling your own tool integrations right in the IDE. You can further explore the content with code samples on the Web. So if you've ever found yourself wondering how to get MSBuild to... Perform some simple arithmetic, or a string replacement (see trick #9) Find a subset of files using a complex expression (see trick #11) Specify the folder where MSBuild.exe resides (see trick #6) Fail the build when your custom task shows an error but the build still succeeds (see trick #2) Get you a list of all the referenced assemblies in your project (see trick #72) Get Visual Studio to stop ignoring your customizations (see trick #82) Search for your customizations, without having to hardcode paths (see trick #16) Allow almost any property to be tweaked (see trick #45) Do something that seems too complex for AfterBuild (see trick #23) Extract the branch name from a path (see trick #99) And don't be put off if you're brand new to MSBuild. If you've ever so much as peeked at the XML in a C# project file, you'll be well served by this book. You'll start from first principals and the most basic mechanisms of MSBuild and the structure of an MSBuild file will be explained. Each trick is small and digestible and presented in a way that you can try out new techniques with just a few lines of MSBuild in a text file. Most of the tricks are things you can copy directly into your own build files and use that day. While many of the tricks stand on their own, the more complex ones are broken down and presented in sequences that progressively build on one another. You won't need any other book on MSBuild! But if you happen to have the other one, MSBuild Trickery will take you far beyond a reference book, providing practical guidance and preparing you for all of those truly unique gotchas that appear when the build runs. With a foreword by Dan Moseley, Microsoft Senior Development Lead for Visual Studio Project & Build.
Anyone who has read J.D. Salinger's New Yorker stories ? particularly A Perfect Day for Bananafish, Uncle Wiggily in Connecticut, The Laughing Man, and For Esme ? With Love and Squalor, will not be surprised by the fact that his first novel is fully of children. The hero-narrator of THE CATCHER IN THE RYE is an ancient child of sixteen, a native New Yorker named Holden Caulfield. Through circumstances that tend to preclude adult, secondhand description, he leaves his prep school in Pennsylvania and goes underground in New York City for three days. The boy himself is at once too simple and too complex for us to make any final comment about him or his story. Perhaps the safest thing we can say about Holden is that he was born in the world not just strongly attracted to beauty but, almost, hopelessly impaled on it. There are many voices in this novel: children's voices, adult voices, underground voices-but Holden's voice is the most eloquent of all. Transcending his own vernacular, yet remaining marvelously faithful to it, he issues a perfectly articulated cry of mixed pain and pleasure. However, like most lovers and clowns and poets of the higher orders, he keeps most of the pain to, and for, himself. The pleasure he gives away, or sets aside, with all his heart. It is there for the reader who can handle it to keep.