Skip to Main Content
Programming .NET Components, 2nd Edition
book

Programming .NET Components, 2nd Edition

by Juval Lowy
July 2005
Intermediate to advanced content levelIntermediate to advanced
644 pages
17h
English
O'Reilly Media, Inc.
Content preview from Programming .NET Components, 2nd Edition

Project Settings and Project Structure

  1. Always build your projects with Warning Level 4 (see Figure E-1).

  2. Treat warnings as errors in the Release build (note that this is not the default of Visual Studio). Although it is optional, this standard recommends treating warnings as errors in Debug builds as well.

  3. Avoid suppressing specific compiler warnings.

  4. Always explicitly state your supported runtime versions in the application configuration file:

    <?xml version="1.0"?>
    <configuration>
       <startup>
          <supportedRuntime version="v2.0.5500.0"/>
          <supportedRuntime version="v1.1.5000.0"/>
       </startup>
    </configuration>
    The project Build pane

    Figure E-1. The project Build pane

  5. Avoid explicit custom version redirection and binding to CLR assemblies.

  6. Avoid explicit preprocessor definitions (#define). Use the project settings for defining conditional compilation constants.

  7. Do not put any logic inside AssemblyInfo.cs.

  8. Do not put any assembly attributes in any file other than AssemblyInfo.cs.

  9. Populate all fields in AssemblyInfo.cs, such as company name, description, and copyright notice.

  10. All assembly references should use relative paths.

  11. Disallow cyclic references between assemblies.

  12. Avoid multi-module assemblies.

  13. Avoid tampering with exception handling using the Exception window (Debug Exceptions).

  14. Strive to use uniform version numbers on all assemblies and clients in the same logical application (typically, a solution). Use the SolutionInfo.cs ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Windows Forms Programming in C#

Windows Forms Programming in C#

Chris Sells
Metaprogramming in .NET

Metaprogramming in .NET

Jason Bock, Kevin Hazzard
.NET Windows Forms in a Nutshell

.NET Windows Forms in a Nutshell

Ian Griffiths, Matthew Adams

Publisher Resources

ISBN: 0596102070Supplemental ContentErrata Page