# Files automatically generated by generate_visualc_files.pl
/mbedTLS.sln
/*.vcxproj

# Files that may be left over from check-generated-files.sh
/*.bak

# Visual Studio artifacts
/.localhistory/
/.vs/
/Debug/
/Release/
/*.vcxproj.filters
/*.vcxproj.user
