Your SlideShare is downloading. ×
0
Visual Studio Automation
Twin Cities Code Camp
April 5th 2014
Justin Wendlandt
jwendl@hotmail.com
@jwendl
http://www.jwend...
Why I Develop Applications
• Laziness
• Automation
• Applied Computer Science
Integrated Development Environments
• In College
 VIM
 Eclipse
 CLI
• Professional World
 Visual Studio
 SQL Server M...
Extensibility Models for Visual Studio
• Visual Studio Visual Studio Project Templates
• Visual Studio Item Templates
• T4...
Visual Studio Project Templates - Simple
• File extensions are stored in a file with a .vsix file extension
• Visual Studi...
Demo – Simple Project Templates
What is Still Missing?
• Ability to have multiple projects on the solution
• Ability to have NuGet automatically fetch ass...
Demo – Complex Project Template
T4 Templates
• Code Generation
• Resembles Classic ASP
• Run Entirely from Visual
Studio
T4 Templates using EF or ADO.NET
T4 Templates using the File System / DTE
• POCO based on Interfaces
Word to the Wise
• Use with caution
• Only use when re-iterating multiple
patterns
• Attempt to use Generics instead
Visual Studio DTE
• Complex object model
• Support for Solutions, Projects
and Files
How MSBuild and .csproj Files Work
Customization of MSBuild Definitions
MSBuild Definition XML Schema
• XSD exists to describe every option in MSBuild
 %windir%Microsoft.NETFramework[version]MS...
TFS Build Automation
Customization of Build Templates
Online Repository of Templates
• Side Waffle
 http://sidewaffle.com/
Questions?
• Twitter: @jwendl
• Email: jwendl@hotmail.com
• Web: http://www.jwendl.net/
Upcoming SlideShare
Loading in...5
×

Visual Studio Automation

181

Published on

Published in: Software, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
181
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Visual Studio Automation"

  1. 1. Visual Studio Automation Twin Cities Code Camp April 5th 2014 Justin Wendlandt jwendl@hotmail.com @jwendl http://www.jwendl.net/
  2. 2. Why I Develop Applications • Laziness • Automation • Applied Computer Science
  3. 3. Integrated Development Environments • In College  VIM  Eclipse  CLI • Professional World  Visual Studio  SQL Server Management Studio
  4. 4. Extensibility Models for Visual Studio • Visual Studio Visual Studio Project Templates • Visual Studio Item Templates • T4 Code Templates • NuGet packaging • DTE development against the Visual Studio COM API • Build Automation via MSBuild or TFS
  5. 5. Visual Studio Project Templates - Simple • File extensions are stored in a file with a .vsix file extension • Visual Studio SDK is Required • For Visual Studio 2013  http://www.microsoft.com/en-us/download/details.aspx?id=40758 • Installed Extensions for Visual Studio 2013 are located %LocalAppData%MicrosoftVisualStudio12.0Extensions<Company>< Product><Version>
  6. 6. Demo – Simple Project Templates
  7. 7. What is Still Missing? • Ability to have multiple projects on the solution • Ability to have NuGet automatically fetch associated dependencies • Name the project when opening up the solution file • Adding multiple item templates when creating the solution and projects
  8. 8. Demo – Complex Project Template
  9. 9. T4 Templates • Code Generation • Resembles Classic ASP • Run Entirely from Visual Studio
  10. 10. T4 Templates using EF or ADO.NET
  11. 11. T4 Templates using the File System / DTE • POCO based on Interfaces
  12. 12. Word to the Wise • Use with caution • Only use when re-iterating multiple patterns • Attempt to use Generics instead
  13. 13. Visual Studio DTE • Complex object model • Support for Solutions, Projects and Files
  14. 14. How MSBuild and .csproj Files Work
  15. 15. Customization of MSBuild Definitions
  16. 16. MSBuild Definition XML Schema • XSD exists to describe every option in MSBuild  %windir%Microsoft.NETFramework[version]MSBuild • Get latest version of .net by using  wmic product where "name like 'Microsoft .N%'" get Version
  17. 17. TFS Build Automation
  18. 18. Customization of Build Templates
  19. 19. Online Repository of Templates • Side Waffle  http://sidewaffle.com/
  20. 20. Questions? • Twitter: @jwendl • Email: jwendl@hotmail.com • Web: http://www.jwendl.net/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×