Visual Studio Code 2017



-->

Developer Community| System Requirements| Compatibility| Distributable Code| License Terms| Blogs| Known Issues

Note

This is not the latest version of Visual Studio. To download the latest release, please visit the current release notes for Visual Studio 2019.

On this Page

Download Visual Studio Community, Professional, and Enterprise. Try Visual Studio IDE, Code or Mac for free today. Get started with Visual Studio 2017. Introduction; User interface; Creating and running a program; Editing code; Navigating code. Visual Studio is an integrated development environment. Code more efficiently — Visual Studio automatically analyzes your code to point out errors and offer suggestions while you type. Advanced debugging.

2017

Note

In the lists below..

  • [arch] represents the processor architecture identifier, for instance 'x86', 'x64', or 'arm'.
  • [locale] represents a specific language, locale, or culture identifier, for instance 'ENU', 'en-us', or '1033'.
  • [version] represents a folder name that uses a version number.
  • [VisualStudioFolder] represents the install location for Visual Studio 2017.

Visual Studio 2017 - Could not load file or assembly 'System.Runtime, Version=4.1.0.0' or one of its dependencies 222 Unit Tests not discovered in Visual Studio 2017. Welcome to the September 2017 release of Visual Studio Code. There are a number of significant updates in this version that we hope you will like, some of the key highlights include: macOS Touch Bar support - Touch Bar actions for navigation and debugging. Source code folding improvements - Collapse region markers and off-side language blocks. Visual Studio Code vs Visual Studio IDE 2017/2019. Posted by just now. Visual Studio Code vs Visual Studio IDE 2017/2019. Should I main visual studio code or visual studio ide? I am into web dev using asp.net core. Log in or sign up to leave a comment Log In Sign Up.

Download

Click a button to download the latest version of Visual Studio 2017. For instructions on installing and updating Visual Studio 2017, see the Update Visual Studio 2017 to the most recent release. Also, see instructions on how to install offline.

Note

This is not the latest version of Visual Studio. To download the latest release, please visit the current release notes for Visual Studio 2019.

Visit the the Visual Studio downloads page to get the latest Visual Studio products.

Note

Installation package size will vary depending on your current Visual Studio configuration.

Distributable Code Files for Visual Studio 2017

The following section is the 'REDIST list' that is referenced in the 'Distributable Code' section of the Microsoft Software License Terms forVisual Studio Enterprise 2017, Visual Studio Professional 2017, Visual Studio Community 2017 ('the software').If you have a validly licensed copy of such software, you may copy and distribute with your program the unmodified form of the files listed below, subject to the License Terms for the software.

Visual studio code 2017 download 64 bit

ASP.NET Libraries

The following software components are licensed and supported separately under the Microsoft .NET Library terms located at https://webpifeed.blob.core.windows.net/webpifeed/eula/aspnetcomponent_rtw_ENU.htm.If you do not agree to the license terms for these software components, you may not use them.

  • MVC
  • Web API
  • Web Pages with Razor
  • Entity Framework
  • SignalR
  • Katana
  • Microsoft XML Document Transformation

Microsoft Azure

Source

  • MobileServices.js
  • MobileServices.min.js

Object Code

  • Microsoft.WindowsAzure.Mobile.dll
  • Microsoft.WindowsAzure.Mobile.resources.dll
  • Microsoft.WindowsAzure.Mobile.UI.dll
  • Microsoft.WindowsAzure.Ext.dll

Blend and XAML Designers for Visual Studio

Redistributable files for Blend Project and Item Templates for Visual Studio are installed in the following locations:

  • [VisualStudioFolder]Common7IDEProjectTemplates
  • [VisualStudioFolder]Common7IDEItemTemplates
  • [VisualStudioFolder]DesignToolsAppThemes
  • [Program Files (x86)]MSBuildMicrosoftExpressionBlend.NETFramework

Blend for Visual Studio

Redistributable files for Blend for Visual Studio are installed in the following locations:

  • [Program Files (x86)]Microsoft SDKsExpressionBlend.NETFrameworkv4.0
  • [Program Files (x86)]Microsoft SDKsExpressionBlend.NETFrameworkv4.5

Sample Data Resources

2017
  • [VisualStudioFolder]DesignToolsSampleData

.NET Framework 4.6.2

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program:

Offline Installer

  • dotNetFx-x86-x64-AllOS-ENU.exe (.NET Framework 4.6.2 as present in Visual Studio)
  • NDP462-KB3151800-x86-x64-AllOS-ENU.exe (.NET Framework 4.6.2 as present on other channels, such as the Microsoft Download Center)

Note: Both files are identical but may use different names for different distribution channels.

Language Packs

  • dotNetFx-x86-x64-AllOS-[locale].exe
  • NDP462-KB3151800-x86-x64-AllOS-[locale].exe

Notes:

  • Both files are identical but may use different names for different distribution channels.
  • [locale] represents the specific three-letter language identifier. For instance, NDP462-KB3151800-x86-x64-AllOS-DEU.exe
    • Language Packs are available for the following (listed here with their associated identifier code):Arabic (ARA), Chinese-Taiwan (CHT), Czech (CSY), Danish (DAN), German (DEU), Greek (ELL), Finnish (FIN), French (FRA), Hebrew (HEB), Hungarian (HUN), Italian (ITA), Japanese (JPN), Korean (KOR), Dutch-Netherlands (NLD), Norwegian (NOR), Polish (PLK), Portuguese-Brazil (PTB), Russian (RUS), Swedish (SVE), Turkish (TRK), Chinese (CHS), Portuguese-Portugal (PTG), Spanish (ESN)

F# Runtime

  • Fsharp.Core.dll

ADO.NET

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program:

  • System.Data.dll
  • System.Data.DatasetExtensions.dll
  • System.Data.OracleClient.dll
  • Adonetdiag.dll

DIA SDK

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program:

  • [VisualStudioFolder]DIA SDKbinmsdia140.dll
  • [VisualStudioFolder]DIA SDKbinamd64msdia140.dll
  • [VisualStudioFolder]DIA SDKbinarmmsdia140.dll

Visual C++ Runtime Files

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, as a part of the installation package of your program:

  • [Program Files (x86)]Common FilesMerge Modules
    • Microsoft_VC140_CRT_[arch].msm
    • Microsoft_VC140_CXXAMP_[arch].msm
    • Microsoft_VC140_MFC_[arch].msm
    • Microsoft_VC140_MFCLOC_[arch].msm
    • Microsoft_VC140_OpenMP_[arch].msm

Subject to the License Terms for the software, you may copy and distribute with your program any of the files within the following folder and its subfolders except as noted below. You may not modify these files.

  • [VisualStudioFolder]VCredist
  • You may not distribute the contents of the following folders:
    • [VisualStudioFolder]VCRedistMSVC[version]debug_nonredist
    • [VisualStudioFolder]VCRedistMSVC[version]debug_nonredist
    • [VisualStudioFolder]VCRedistMSVC[version]onecoredebug_nonredist

Subject to the License Terms for the software, you may copy and distribute the following files with your program in your program’s application local folder or by deploying them into the Global Assembly Cache (GAC):

  • [VisualStudioFolder]VCToolsMSVC[version]atlmfclib[arch]mfcmifc80.dll

Universal Windows Apps and Windows Store Apps

Side-loading of Universal Windows Apps

Visual Studio Code 2017 Enterprise

The AppX files contained in the following locations may be distributed unmodified with your Universal Windows apps that you intend to side-load:

  • [Program Files (x86)]Microsoft SDKsWindows Kits10ExtensionSDKsMicrosoft.VCLibs14.0AppxRetail[arch]Microsoft.VCLibs.[arch].14.00.appx
  • [Program Files (x86)]Microsoft SDKsWindows Kits10ExtensionSDKsMicrosoft.VCLibs.12014.0AppxRetail[arch]Microsoft.VCLibs.[arch].12.00.Universal.appx
  • [Program Files (x86)]Microsoft SDKsWindows Kits10ExtensionSDKsMicrosoft.NET.Native.Framework.1.31.3[arch]retNativeMicrosoft.NET.Native.Framework.1.3.appx
  • [Program Files (x86)]Microsoft SDKsWindows Kits10ExtensionSDKsMicrosoft.NET.Native.Runtime.1.41.4AppX[arch]Microsoft.NET.Native.Runtime.1.4.appx
  • For additional versions of .NET Native, see https://www.nuget.org/packages/Microsoft.Net.Native.Compiler/.

The files contained in the following locations may be distributed unmodified with your Universal Windows apps that you intend to side-load:

  • [Program Files (x86)]Microsoft SDKsWindows Kits10ExtensionSDKsCppUnitTestFramework.Universal15.0RedistCommonConfiguration
  • [Program Files (x86)]Microsoft SDKsWindows Kits10ExtensionSDKsMSTestFramework.Universal15.0RedistCommonConfiguration
  • [Program Files (x86)]Microsoft SDKsWindows Kits10ExtensionSDKsTestPlatform.Universal15.0RedistCommonConfiguration

SQL Server Database Tooling files

Subject to the License Terms for the software, you may copy and distribute the .dll files and .exe files, unmodified, in this folder with your program:

Visual Studio Code 2017 Download

  • [VisualStudioFolder]Common7IDEExtensionsMicrosoftSQLDBDAC120
  • [VisualStudioFolder]Common7IDEExtensionsMicrosoftSQLDBDAC130

SQL Server Redistributable Components

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program:

  • SqlCmdLnUtils.msi
  • sqlncli.msi
  • SSCERuntime_x64-enu.exe
  • SSCERuntime_x86-enu.exe
  • sqllocaldb.msi
  • SharedManagementObjects.msi
  • SqlDom.msi
  • SQLSysClrTypes.msi
  • TSqlLanguageService.msi

Microsoft WCF Data Services files

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program:

  • Microsoft.Data.Services.dll
  • Microsoft.Data.Services.Client.dll
  • Microsoft.Data.OData.dll
  • Microsoft.Data.Edm.dll
  • System.Spatial.dll

Microsoft Visual Studio Tools for Office

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program:

  • Microsoft.Office.Tools.Common.v4.0.Utilities.dll
  • Microsoft.Office.Tools.Excel.v4.0.Utilities.dll
  • Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll
  • Microsoft.Office.Tools.Word.v4.0.Utilities.dll

Subject to the License Terms for the software, you may copy and distribute the following files with your program:

  • setup.exe (bootstrapper used to install Office Add-ins)

Distributable Code Files for the Concurrency Visualizer Software Development Kit

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program:

  • Microsoft.ConcurrencyVisualizer.Markers.dll (for .NET 3.5)
  • Microsoft.ConcurrencyVisualizer.Markers.dll (for .NET 4.0)
  • cvmarkers.h
  • cvmarkersobj.h

Distributable Code Files for Visual Studio extension development

This is the 'REDIST list' that is referenced in the 'Distributable Code' section of the Microsoft Software License Terms forVisual Studio 2017 ('the software'). If you have a validly licensed copy of the software, you may copy and distribute theunmodified object code form of the files listed below, subject to the License Terms for the software.

  • [VisualStudioFolder]VSSDKVisualStudioIntegrationRedistributablesVS150_piaredist.exe
  • [VisualStudioFolder]VSSDKVisualStudioIntegrationRedistributablesVSSDKTestHost.exe

List of Utilities for Visual Studio 2017

This is the “Utilities List” that is referenced in the “Utilities” section of Microsoft Software License Terms for certain editions of Visual Studio 2017 (the “software”).Depending on the specific edition of the software, the software you received may not include all of the files on this list. To determine your rights with respect to thefollowing files, please refer to the Visual Studio License Terms that came with your edition of the software. You may not modify these files.

  • [VisualStudioFolder]Common7IDECommonExtensionsMicrosoftIntelliTraceIntelliTraceCollection.cab
  • vs_remotetools.exe (both x86 and x64 versions)
  • [VisualStudioFolder]Team ToolsPerformance ToolsSetupsvs_profiler[arch]_x64_[locale].exe

Visual C++ Utilities

The 'Utilities List' includes the following files within in the subfolders of the directories specified:

  • [VisualStudioFolder]VCAuxiliaryVSredistGraphicsDbgRedist
    • VsGraphicsHelper.dll
    • VsGraphicsResources.dll
  • [VisualStudioFolder]VCRedistMSVC[version]debug_nonredist
    • concrt140d.dll
    • mfc140ud.dll
    • mfcm140ud.dll
    • msvcp140d.dll
    • vcamp140d.dll
    • vccorlib140d.dll
    • vcomp140d.dll
    • vcruntime140d.dll
  • [VisualStudioFolder]VCToolsMSVC[version]bin
    • pgort140.dll
    • pgort140ui.dll
    • pgosweep.exe

List of Build Server Files for Visual Studio 2017

This is the 'Build Server List' that is referenced in the 'Build Server' section of the Microsoft Software License Terms for certain editions ofVisual Studio 2017 (the 'software'). To determine your rights with respect to the following files, please refer to the License Terms that came with your edition of the software.

SharePoint Tooling for Visual Studio

[VisualStudioFolder]MSBuildMicrosoftVisualStudiov15.0SharePointTools

  • Microsoft.VisualStudio.SharePoint.targets
  • Microsoft.VisualStudio.SharePoint.Tasks.dll

[VisualStudioFolder]Common7IDE

  • PrivateAssembliesMicrosoft.VisualStudio.SharePoint.Designers.Models.dll
  • PrivateAssembliesMicrosoft.VisualStudio.SharePoint.Designers.Models.Features.dll
  • PrivateAssembliesMicrosoft.VisualStudio.SharePoint.Designers.Models.Packages.dll
  • PublicAssembliesMicrosoft.VisualStudio.SharePoint.dll

Visual C++ Build Server files

Any of the files within the following folders and their subfolders.

  • Program FilesCommon FilesMerge Modules
  • [VisualStudioFolder]VC
  • [VisualStudioFolder]Common7IDEVCVCTargets
  • [VisualStudioFolder]Common7Toolsvsdevcmd
  • [Program Files (x86)]Microsoft Visual StudioShared14.0VC
  • [Program Files (x86)]MSBuildMicrosoft.Cppv4.0V140

Individual Files

  • [VisualStudioFolder]Common7IDEmsobj120.dll
  • [VisualStudioFolder]Common7IDEmsobj140.dll
  • [VisualStudioFolder]Common7IDEmsvcdis120.dll
  • [VisualStudioFolder]Common7IDEmsvcdis140.dll
  • [VisualStudioFolder]Common7Toolsmakehm.exe
  • [VisualStudioFolder]Common7ToolsVsDevCmd.bat

Distributable Code Files for Application Insights for Visual Studio 2017

Subject to the License Terms for the software, you may copy and distribute the following files, unmodified, with your program built with Visual Studio 2017:

  • Microsoft.ApplicationInsights.2.0.0.nupkg
  • Microsoft.ApplicationInsights.Agent.Intercept.1.2.1.nupkg
  • Microsoft.ApplicationInsights.AspNet.1.0.0-rc1-update4.nupkg
  • Microsoft.ApplicationInsights.AspNetCore.1.0.0-rc2-final.nupkg
  • Microsoft.ApplicationInsights.DependencyCollector.2.0.0.nupkg
  • Microsoft.ApplicationInsights.JavaScript.0.22.9-build00167.nupkg
  • Microsoft.ApplicationInsights.PerfCounterCollector.2.0.0.nupkg
  • Microsoft.ApplicationInsights.Web.2.0.0.nupkg
  • Microsoft.ApplicationInsights.WindowsServer.2.0.0.nupkg
  • Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.0.0.nupkg
  • Microsoft.Bcl.Async.1.0.168.nupkg
  • Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.24.nupkg

Distributable Code Files for Mobile Development with Xamarin

Subject to the License Terms for the software, you may copy and distribute with your application built using Visual Studio or Visual Studio for Mac the object code form of the following files (and associated debug symbol files) as installed within subfolders of the following directories:

On macOS® operating system:

  • /Library/Frameworks/Xamarin.iOS.framework
  • /Library/Frameworks/Xamarin.Android.framework
  • /Library/Frameworks/Xamarin.Mac.framework

On Windows operating system:

  • [VisualStudioFolder]MSBuildXamarin,
  • [VisualStudioFolder]Common7IDEReferenceAssembliesMicrosoftFrameworkMonoAndroid,
  • [VisualStudioFolder]Common7IDEReferenceAssembliesMicrosoftFrameworkMonoTouch,
  • [VisualStudioFolder]Common7IDEReferenceAssembliesMicrosoftFrameworkXamarin.iOS,
  • [VisualStudioFolder]Common7IDEReferenceAssembliesMicrosoftFrameworkXamarin.Mac,
  • [VisualStudioFolder]Common7IDEReferenceAssembliesMicrosoftFrameworkXamarin.TVOS, or
  • [VisualStudioFolder]Common7IDEReferenceAssembliesMicrosoftFrameworkXamarin.WatchOS

Xamarin Distributable Code Files:

  • FSharp.Compiler.CodeDom.dll
  • FSharp.Core.dll
  • FSharp.Core.optdata
  • FSharp.Core.sigdata
  • FSharp.Core.xml
  • I18N.CJK.dll
  • I18N.dll
  • I18N.MidEast.dll
  • I18N.Other.dll
  • I18N.Rare.dll
  • I18N.West.dll
  • Info.plist
  • Ionic.Zip.dll
  • Irony.dll
  • Java.Interop.dll
  • Java.Interop.Tools.Cecil.dll
  • Java.Interop.Tools.Diagnostics.dll
  • Java.Interop.Tools.JavaCallableWrappers.dll
  • libapp.a
  • libextension.a
  • libmono-2.0.a
  • libmono-2.0.dylib
  • libmono-android.debug.d.dylib
  • libmono-android.debug.d.so
  • libmono-android.debug.dylib
  • libmono-android.debug.so
  • libmono-android.release.d.dylib
  • libmono-android.release.d.so
  • libmono-android.release.dylib
  • libmono-android.release.so
  • libmono-btls-shared.d.so
  • libmono-btls-shared.so
  • libMonoPosixHelper.d.dylib
  • libMonoPosixHelper.d.so
  • libMonoPosixHelper.dylib
  • libMonoPosixHelper.so
  • libmono-profiler-log.a
  • libmono-profiler-log.d.dylib
  • libmono-profiler-log.d.so
  • libmono-profiler-log.dylib
  • libmono-profiler-log.so
  • libmonosgen-2.0.a
  • libmonosgen-2.0.d.dylib
  • libmonosgen-2.0.d.so
  • libmonosgen-2.0.dylib
  • libmonosgen-2.0.so
  • libtvextension.a
  • libwatchextension.a
  • libxamarin.a
  • libxamarin.dylib
  • libxamarin-debug.a
  • libxamarin-debug.dylib
  • libxammac.a
  • libxammac.dylib
  • libxammac-debug.a
  • libxammac-debug.dylib
  • libxammac-system.a
  • libxammac-system-debug.a
  • libzip.3.0.dylib
  • libZipSharp.dll
  • libZipSharp.dll.config
  • machine.config
  • Microsoft.CSharp.dll
  • Microsoft.Win32.Primitives.dll
  • Microsoft.Win32.Registry.AccessControl.dll
  • Microsoft.Win32.Registry.dll
  • Mono
  • mono.android.dex
  • Mono.Android.dll
  • Mono.Android.Export.dll
  • mono.android.jar
  • Mono.Btls.Interface.dll
  • Mono.CompilerServices.SymbolWriter.dll
  • Mono.CSharp.dll
  • Mono.Data.Sqlite.dll
  • Mono.Data.Sqlite.dll.config
  • Mono.Data.Tds.dll
  • Mono.Messaging.dll
  • Mono.Posix.dll
  • Mono.Security.dll
  • MonoTouch.Dialog-1.dll
  • monotouch.dll
  • MonoTouch.NUnitLite.dll
  • monotouch-fixes.dylib
  • mscorlib.dll
  • netstandard.dll
  • OpenTK.dll
  • OpenTK.dll.config
  • OpenTK-1.0.dll
  • OpenTK-1.0.dll.config
  • System.AppContext.dll
  • System.Collections.Concurrent.dll
  • System.Collections.dll
  • System.Collections.NonGeneric.dll
  • System.Collections.Specialized.dll
  • System.ComponentModel.Annotations.dll
  • System.ComponentModel.Composition.dll
  • System.ComponentModel.DataAnnotations.dll
  • System.ComponentModel.dll
  • System.ComponentModel.EventBasedAsync.dll
  • System.ComponentModel.Primitives.dll
  • System.ComponentModel.TypeConverter.dll
  • System.config
  • System.Configuration.dll
  • System.Configuration.Install.dll
  • System.Console.dll
  • System.Core.dll
  • System.Data.Common.dll
  • System.Data.dll
  • System.Data.Linq.dll
  • System.Data.Services.Client.dll
  • System.Data.SqlClient.dll
  • System.Diagnostics.Contracts.dll
  • System.Diagnostics.Debug.dll
  • System.Diagnostics.FileVersionInfo.dll
  • System.Diagnostics.Process.dll
  • System.Diagnostics.StackTrace.dll
  • System.Diagnostics.TextWriterTraceListener.dll
  • System.Diagnostics.Tools.dll
  • System.Diagnostics.TraceEvent.dll
  • System.Diagnostics.TraceSource.dll
  • System.Diagnostics.Tracing.dll
  • System.dll
  • System.Drawing.Primitives.dll
  • System.Dynamic.Runtime.dll
  • System.EnterpriseServices.dll
  • System.Globalization.Calendars.dll
  • System.Globalization.dll
  • System.Globalization.Extensions.dll
  • System.IdentityModel.dll
  • System.IdentityModel.Selectors.dll
  • System.IO.Compression.dll
  • System.IO.Compression.FileSystem.dll
  • System.IO.Compression.ZipFile.dll
  • System.IO.dll
  • System.IO.FileSystem.AccessControl.dll
  • System.IO.FileSystem.dll
  • System.IO.FileSystem.DriveInfo.dll
  • System.IO.FileSystem.Primitives.dll
  • System.IO.FileSystem.Watcher.dll
  • System.IO.IsolatedStorage.dll
  • System.IO.MemoryMappedFiles.dll
  • System.IO.Pipes.dll
  • System.IO.UnmanagedMemoryStream.dll
  • System.Json.dll
  • System.Linq.dll
  • System.Linq.Expressions.dll
  • System.Linq.Parallel.dll
  • System.Linq.Queryable.dll
  • System.Messaging.dll
  • System.Net.AuthenticationManager.dll
  • System.Net.Cache.dll
  • System.Net.dll
  • System.Net.Http.dll
  • System.Net.Http.WinHttpHandler.dll
  • System.Net.HttpListener.dll
  • System.Net.Mail.dll
  • System.Net.NameResolution.dll
  • System.Net.NetworkInformation.dll
  • System.Net.Ping.dll
  • System.Net.Primitives.dll
  • System.Net.Requests.dll
  • System.Net.Security.dll
  • System.Net.ServicePoint.dll
  • System.Net.Sockets.dll
  • System.Net.Utilities.dll
  • System.Net.WebHeaderCollection.dll
  • System.Net.WebSockets.Client.dll
  • System.Net.WebSockets.dll
  • System.Numerics.dll
  • System.Numerics.Vectors.dll
  • System.ObjectModel.dll
  • System.Reflection.Context.dll
  • System.Reflection.DispatchProxy.dll
  • System.Reflection.dll
  • System.Reflection.Emit.dll
  • System.Reflection.Emit.ILGeneration.dll
  • System.Reflection.Emit.Lightweight.dll
  • System.Reflection.Extensions.dll
  • System.Reflection.Primitives.dll
  • System.Reflection.TypeExtensions.dll
  • System.Resources.ReaderWriter.dll
  • System.Resources.ResourceManager.dll
  • System.Runtime.CompilerServices.VisualC.dll
  • System.Runtime.dll
  • System.Runtime.Extensions.dll
  • System.Runtime.Handles.dll
  • System.Runtime.InteropServices.dll
  • System.Runtime.InteropServices.RuntimeInformation.dll
  • System.Runtime.InteropServices.WindowsRuntime.dll
  • System.Runtime.Numerics.dll
  • System.Runtime.Serialization.dll
  • System.Runtime.Serialization.Formatters.dll
  • System.Runtime.Serialization.Formatters.Soap.dll
  • System.Runtime.Serialization.Json.dll
  • System.Runtime.Serialization.Primitives.dll
  • System.Runtime.Serialization.Xml.dll
  • System.Security.AccessControl.dll
  • System.Security.Claims.dll
  • System.Security.Cryptography.Algorithms.dll
  • System.Security.Cryptography.Cng.dll
  • System.Security.Cryptography.Csp.dll
  • System.Security.Cryptography.DeriveBytes.dll
  • System.Security.Cryptography.Encoding.dll
  • System.Security.Cryptography.Encryption.Aes.dll
  • System.Security.Cryptography.Encryption.dll
  • System.Security.Cryptography.Encryption.ECDiffieHellman.dll
  • System.Security.Cryptography.Encryption.ECDsa.dll
  • System.Security.Cryptography.Hashing.Algorithms.dll
  • System.Security.Cryptography.Hashing.dll
  • System.Security.Cryptography.OpenSsl.dll
  • System.Security.Cryptography.Pkcs.dll
  • System.Security.Cryptography.Primitives.dll
  • System.Security.Cryptography.ProtectedData.dll
  • System.Security.Cryptography.RandomNumberGenerator.dll
  • System.Security.Cryptography.RSA.dll
  • System.Security.Cryptography.X509Certificates.dll
  • System.Security.dll
  • System.Security.Principal.dll
  • System.Security.Principal.Windows.dll
  • System.Security.SecureString.dll
  • System.ServiceModel.dll
  • System.ServiceModel.Duplex.dll
  • System.ServiceModel.Http.dll
  • System.ServiceModel.Internals.dll
  • System.ServiceModel.NetTcp.dll
  • System.ServiceModel.Primitives.dll
  • System.ServiceModel.Security.dll
  • System.ServiceModel.Web.dll
  • System.ServiceProcess.ServiceController.dll
  • System.Text.Encoding.CodePages.dll
  • System.Text.Encoding.dll
  • System.Text.Encoding.Extensions.dll
  • System.Text.RegularExpressions.dll
  • System.Threading.AccessControl.dll
  • System.Threading.dll
  • System.Threading.Overlapped.dll
  • System.Threading.Tasks.dll
  • System.Threading.Tasks.Parallel.dll
  • System.Threading.Thread.dll
  • System.Threading.ThreadPool.dll
  • System.Threading.Timer.dll
  • System.Transactions.dll
  • System.ValueTuple.dll
  • System.Web.Services.dll
  • System.Windows.dll
  • System.Xml.dll
  • System.Xml.Linq.dll
  • System.Xml.ReaderWriter.dll
  • System.Xml.Serialization.dll
  • System.Xml.XDocument.dll
  • System.Xml.XmlDocument.dll
  • System.Xml.XmlSerializer.dll
  • System.Xml.XPath.dll
  • System.Xml.XPath.XDocument.dll
  • System.Xml.XPath.XmlDocument.dll
  • System.Xml.Xsl.Primitives.dll
  • Xamarin
  • Xamarin.Android.NUnitLite.dll
  • Xamarin.iOS.dll
  • Xamarin.Mac.dll
  • Xamarin.Mac.registrar.full.a
  • Xamarin.Mac.registrar.mobile.a
  • Xamarin.TVOS.dll
  • Xamarin.TVOS.registrar.a
  • Xamarin.WatchOS.dll
  • Xamarin.WatchOS.registrar.a
  • Xamarin-debug
  • XamMac.CFNetwork.dll
  • XamMac.dll
  • XamMacLauncher
Top of Page
-->

You can visualize dependencies across your code by creating a code map. Code maps help you see how the code fits together without reading through files and lines of code.

Visual Studio Code 2017 Download

To create and edit code maps, you need Visual Studio Enterprise edition. In Visual Studio Community and Professional editions, you can open diagrams that were generated in Enterprise edition, but you cannot edit them.

Note

Before you share maps created in Visual Studio Enterprise with others who use Visual Studio Professional, make sure that all the items on the map (such as hidden items, expanded groups, and cross-group links) are visible.

You can map dependencies for code in these languages:

  • Visual C# or Visual Basic in a solution or assemblies (.dll or .exe)

  • Native or managed C or C++ code in Visual C++ projects, header files (.h or #include), or binaries

  • X++ projects and assemblies made from .NET modules for Microsoft Dynamics AX

Note

For projects other than C# or Visual Basic, there are fewer options for starting a code map or adding items to an existing code map. For example, you cannot right-click an object in the text editor of a C++ project and add it to a code map. However, you can drag and drop individual code elements or files from Solution Explorer, Class View, and Object Browser.

Visual Studio Code 2017

Install Code Map and Live Dependency Validation

To create a code map in Visual Studio, first install the Code Map and Live Dependency Validation components:

  1. Open Visual Studio Installer. You can open it from the Windows Start menu, or within Visual Studio by selecting Tools > Get Tools and Features.

  2. Select the Individual components tab.

  3. Scroll down to the Code tools section and select Code Map and Live Dependency Validation.

  4. Select Modify.

    The Code Map and Live Dependency Validation components begin installing. You may be asked to close Visual Studio.

Add a code map

You can create an empty code map and drag items onto it, including assembly references, files and folders, or you can generate a code map for all or part of your solution.

To add an empty code map:

  1. In Solution Explorer, open the shortcut menu for your top-level solution node. Choose Add > New Item.

  2. In the Add New Item dialog, under Installed, choose the General category.

  3. Choose the Directed Graph Document(.dgml) template and then select Add.

    Tip

    This template may not appear alphabetically, so scroll down to the bottom of the template list if you don't see it. Crack of recover my files.

    A blank map appears in your solution's Solution Items folder.

Similarly, you can create a new code map file without adding it to your solution by selecting Architecture > New Code Map or File > New > File.

Generate a code map for your solution

To see all the dependencies in your solution:

  1. On the menu bar, choose Architecture > Generate Code Map for Solution. If your code hasn't changed since the last time you built it, you can select Architecture > Generate Code Map for Solution Without Building instead.

    A map is generated that shows the top-level assemblies and aggregated links between them. The wider the aggregate link, the more dependencies it represents. Gta vice city pc full game download windows 7.

  2. Use the Legend button on the code map toolbar to show or hide the list of project type icons (such as Test, Web, and Phone Project), code items (such as Classes, Methods, and Properties), and relation types (such as Inherits From, Implements, and Calls).

    This example solution contains Solution Folders (Tests and Components), Test Projects, Web Projects, and assemblies. By default, all containment relationships appear as groups, which you can expand and collapse. The Externals group contains anything outside your solution, including platform dependencies. External assemblies show only those items that are used. By default, system base types are hidden on the map to reduce clutter.

  3. To drill down into the map, expand the groups that represent projects and assemblies. You can expand everything by pressing CTRL+A to select all the nodes and then choosing Group, Expand from the shortcut menu.

  4. However, this may not be useful for a large solution. In fact, for complex solutions, memory limitations may prevent you from expanding all the groups. Instead, to see inside an individual node, expand it. Move your mouse pointer on top of the node and then click the chevron (down arrow) when it appears.

    Or use the keyboard by selecting the item then pressing the plus key (+). To explore deeper levels of code, do the same for namespaces, types, and members.

    Tip

    For more details about working with code maps using the mouse, keyboard, and touch, see Browse and rearrange code maps.

  5. To simplify the map and focus on individual parts, choose Filters on the code map toolbar and select just the types of nodes and links you are interested in. For example, you can hide all the Solution Folder and Assembly containers.

    You can also simplify the map by hiding or removing individual groups and items from the map, without affecting the underlying solution code.

  6. To see the relationships between items, select them in the map. The colors of the links indicate the types of relationship, as shown in the Legend pane.

    In this example, the purple links are calls, the dotted links are references, and the light blue links are field access. Green links can be inheritance, or they may be aggregate links that indicate more than one type of relationship (or category).

    Tip

    If you see a green link, it might not mean there's just an inheritance relationship. There might also be method calls, but these are hidden by the inheritance relationship. To see specific types of links, use the checkboxes in the Filters pane to hide the types you aren't interested in.

  7. To get more information about an item or link, move the pointer on top of it until a tooltip appears. This shows details of a code element or the categories that a link represents.

  8. To examine items and dependencies represented by an aggregate link, first select the link and then open its shortcut menu. Choose Show Contributing Links (or Show Contributing Links on New Code Map). This expands the groups at both ends of the link and shows only those items and dependencies that participate in the link.

  9. To focus in on specific parts of the map, you can continue to remove items you aren't interested in. For example, to drill into class and member view, simply filter all the namespace nodes in the Filters pane.

  10. Another way to focus in on a complex solution map is to generate a new map containing selected items from an existing map. Hold Ctrl while selecting the items you want to focus on, open the shortcut menu, and choose New Graph from Selection.

  11. The containing context is carried over to the new map. Hide Solution Folders and any other containers you don't want to see using the Filters pane.

  12. Expand the groups and select items in the map to view the relationships.

Also see:

  • Find potential problems in your code by running an analyzer

View specific dependencies in a code map

Suppose you have a code review to perform in some files with pending changes. To see the dependencies in those changes, you can create a code map from those files.

  1. In Solution Explorer, select the projects, assembly references, folders, files, types, or members that you want to map.

  2. On the Solution Explorer toolbar, choose Show on Code Map . Or, open the shortcut menu for one or a group of items and choose Show on Code Map.

    You can also drag items from Solution Explorer, Class View, or Object Browser, into a new or existing code map. To include the parent hierarchy for your items, press and hold the Ctrl key while you drag items, or use the Include Parents button on the code map toolbar to specify the default action. You can also drag assembly files from outside Visual Studio, such as from Windows Explorer.

    Note

    When you add items from a project that's shared across multiple apps, like Windows Phone or Microsoft Store, those items appear on the map with the currently active app project. If you change context to another app project and add more items from the shared project, those items now appear with the newly active app project. Operations that you perform with an item on the map apply only to those items that share the same context.

  3. The map shows the selected items within their containing assemblies.

  4. To explore items, expand them. Move the mouse pointer on top of an item, then click the chevron (down arrow) icon when it appears.

    To expand all items, select them using Ctrl+A, then open the shortcut menu for the map and choose Group > Expand. However, this option isn't available if expanding all groups creates an unusable map or memory issues.

  5. Continue to expand items you are interested in, right down to the class and member level if necessary.

    To see members that are in the code but don't appear on the map, click the Refetch Children icon in the top left corner of a group.

    Than

  6. To see more items related to those on the map, select one and choose Show Related on the code map toolbar, then select the type of related items to add to the map. Alternatively, select one or more items, open the shortcut menu, and then choose the Show option for the type of related items to add to the map. For example:

    For an assembly, choose:

    OptionDescription
    Show Assemblies This ReferencesAdd assemblies that this assembly references. External assemblies appear in the Externals group.
    Show Assemblies Referencing ThisAdd assemblies in the solution that reference this assembly.

    For a namespace, choose Show Containing Assembly, if it's not visible.

    For a class or interface, choose:

    OptionDescription
    Show Base TypesFor a class, add the base class and the implemented interfaces.
    For an interface, add the base interfaces.
    Show Derived TypesFor a class, add the derived classes.
    For an interface, add the derived interfaces and the implementing classes or structs.
    Show Types This ReferencesAdd all classes and their members that this class uses.
    Show Types Referencing ThisAdd all classes and their members that use this class.
    Show Containing NamespaceAdd the parent namespace.
    Show Containing Namespace and AssemblyAdd the parent container hierarchy.
    Show All Base TypesAdd the base class or interface hierarchy recursively.
    Show All Derived TypesFor a class, add all the derived classes recursively.
    For an interface, add all the derived interfaces and implementing classes or structs recursively.

    For a method, choose:

    OptionDescription
    Show Methods This CallsAdd methods that this method calls.
    Show Fields This ReferencesAdd fields that this method references.
    Show Containing TypeAdd the parent type.
    Show Containing Type, Namespace, and AssemblyAdd the parent container hierarchy.
    Show Overridden MethodsFor a method that overrides other methods or implements an interface's method, add all the abstract or virtual methods in base classes that are overridden and, if any, the interface's method that is implemented.

    For a field or property, choose:

    OptionDescription
    Show Containing TypeAdd the parent type.
    Show Containing Type, Namespace, and AssemblyAdd the parent container hierarchy.
  7. The map shows the relationships. In this example, the map shows the methods called by the Find method and their location in the solution or externally.

  8. To simplify the map and focus on individual parts, choose Filters on the code map toolbar and select just the types of nodes and links you are interested in. For example, turn off display of Solution Folders, Assemblies, and Namespaces.

See also