Visual Studio Automation
-
Upload
justin-wendlandt -
Category
Software
-
view
185 -
download
4
Transcript of Visual Studio Automation
Visual Studio AutomationTwin Cities Code CampApril 5th 2014
Justin [email protected]
@jwendlhttp://www.jwendl.net/
Why I Develop Applications• Laziness• Automation• Applied Computer Science
Integrated Development Environments• In College
VIM Eclipse CLI
• Professional World Visual Studio SQL Server Management Studio
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
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%\
Microsoft\VisualStudio\12.0\Extensions\<Company>\<Product>\<Version>\
Demo – Simple Project Templates
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
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.NET\Framework\[version]\MSBuild• Get latest version of .net by using
wmic product where "name like 'Microsoft .N%'" get Version
TFS Build Automation
Customization of Build Templates
Online Repository of Templates• Side Waffle
http://sidewaffle.com/
Questions?• Twitter: @jwendl• Email: [email protected]• Web: http://www.jwendl.net/