We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
VS generator not exporting for <Lib> tag in vcxproj
Need to add Conan-handled lib to be referenced in .vcxproj in <Lib> tags. Conan VS-generator is exporting only in <Link> tag. 


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `conans/client/generators/visualstudio.py`
Content:
```
1 import os
2 import re
3 
4 from conans.model import Generator
5 from conans.paths import BUILD_INFO_VISUAL_STUDIO
6 from conans.client.tools.files import VALID_LIB_EXTENSIONS
7 
8 
9 class VisualStudioGenerator(Generator):
10 
11     template = '''<?xml version="1.0" encoding="utf-8"?>
12 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
13   <ImportGroup Label="PropertySheets" />
14   <PropertyGroup Label="UserMacros" />
15   <PropertyGroup Label="Conan-RootDirs">{item_properties}
16   </PropertyGroup>
17   {properties}
18   <ItemGroup />
19 </Project>'''
20 
21     properties_template = '''  <PropertyGroup Label="ConanVariables"{condition}>
22     <ConanBinaryDirectories>{bin_dirs};%(ConanBinaryDirectories)</ConanBinaryDirectories>
23     <ConanResourceDirectories>{res_dirs};%(ConanResourceDirectories)$(</ConanResourceDirectories>
24   </PropertyGroup>
25   <PropertyGroup{condition}>
26     <LocalDebuggerEnvironment>PATH=%PATH%;{bin_dirs}</LocalDebuggerEnvironment>
27     <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
28   </PropertyGroup>
29   <ItemDefinitionGroup{condition}>
30     <ClCompile>
31       <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
32       <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>
33       <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>
34     </ClCompile>
35     <Link>
36       <AdditionalLibraryDirectories>{lib_dirs}%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
37       <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>
38       <AdditionalOptions>{linker_flags} %(AdditionalOptions)</AdditionalOptions>
39     </Link>
40     <Midl>
41       <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
42     </Midl>
43     <ResourceCompile>
44       <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
45       <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>
46       <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>
47     </ResourceCompile>
48   </ItemDefinitionGroup>'''
49 
50     item_template = '''
51     <Conan-{name}-Root>{root_dir}</Conan-{name}-Root>'''
52 
53     def _format_items(self):
54         sections = []
55         for dep_name, cpp_info in self._deps_build_info.dependencies:
56             fields = {
57                 'root_dir': cpp_info.rootpath,
58                 'name': dep_name.replace(".", "-")
59             }
60             section = self.item_template.format(**fields)
61             sections.append(section)
62         return "".join(sections)
63 
64     @property
65     def filename(self):
66         return BUILD_INFO_VISUAL_STUDIO
67 
68     def _format_properties(self, build_info, condition):
69         def has_valid_ext(lib):
70             ext = os.path.splitext(lib)[1]
71             return ext in VALID_LIB_EXTENSIONS
72 
73         fields = {
74             'condition': condition,
75             'bin_dirs': "".join("%s;" % p for p in build_info.bin_paths),
76             'res_dirs': "".join("%s;" % p for p in build_info.res_paths),
77             'include_dirs': "".join("%s;" % p for p in build_info.include_paths),
78             'lib_dirs': "".join("%s;" % p for p in build_info.lib_paths),
79             'libs': "".join(['%s.lib;' % lib if not has_valid_ext(lib)
80                              else '%s;' % lib for lib in build_info.libs]),
81             'definitions': "".join("%s;" % d for d in build_info.defines),
82             'compiler_flags': " ".join(build_info.cxxflags + build_info.cflags),
83             'linker_flags': " ".join(build_info.sharedlinkflags),
84             'exe_flags': " ".join(build_info.exelinkflags)
85         }
86         formatted_template = self.properties_template.format(**fields)
87         return formatted_template
88 
89     @property
90     def content(self):
91         per_item_props = self._format_items()
92 
93         properties = [self._format_properties(self._deps_build_info, condition='')]
94         for config, cpp_info in self._deps_build_info.configs.items():
95             condition = " Condition=\"'$(Configuration)' == '%s'\"" % config
96             properties.append(self._format_properties(cpp_info, condition=condition))
97 
98         fields = {
99             'item_properties': per_item_props,
100             'properties': '\n'.join(properties)
101         }
102         formatted_template = self.template.format(**fields)
103 
104         userprofile = os.getenv("USERPROFILE")
105         if userprofile:
106             userprofile = userprofile.replace("\\", "\\\\")
107             formatted_template = re.sub(userprofile, "$(USERPROFILE)", formatted_template,
108                                         flags=re.I)
109         return formatted_template
110
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/conans/client/generators/visualstudio.py b/conans/client/generators/visualstudio.py
--- a/conans/client/generators/visualstudio.py
+++ b/conans/client/generators/visualstudio.py
@@ -19,8 +19,12 @@
 </Project>'''
 
     properties_template = '''  <PropertyGroup Label="ConanVariables"{condition}>
-    <ConanBinaryDirectories>{bin_dirs};%(ConanBinaryDirectories)</ConanBinaryDirectories>
-    <ConanResourceDirectories>{res_dirs};%(ConanResourceDirectories)$(</ConanResourceDirectories>
+    <ConanCompilerFlags>{compiler_flags}</ConanCompilerFlags>
+    <ConanPreprocessorDefinitions>{definitions}</ConanPreprocessorDefinitions>
+    <ConanIncludeDirectories>{include_dirs}</ConanIncludeDirectories>
+    <ConanResourceDirectories>{res_dirs}</ConanResourceDirectories>
+    <ConanLibraryDirectories>{lib_dirs}</ConanLibraryDirectories>
+    <ConanBinaryDirectories>{bin_dirs}</ConanBinaryDirectories>
   </PropertyGroup>
   <PropertyGroup{condition}>
     <LocalDebuggerEnvironment>PATH=%PATH%;{bin_dirs}</LocalDebuggerEnvironment>
@@ -28,22 +32,26 @@
   </PropertyGroup>
   <ItemDefinitionGroup{condition}>
     <ClCompile>
-      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(ConanPreprocessorDefinitions)%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalOptions>$(ConanCompilerFlags) %(AdditionalOptions)</AdditionalOptions>
     </ClCompile>
     <Link>
-      <AdditionalLibraryDirectories>{lib_dirs}%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(ConanLibraryDirectories)%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalOptions>{linker_flags} %(AdditionalOptions)</AdditionalOptions>
     </Link>
+    <Lib>
+      <AdditionalLibraryDirectories>$(ConanLibraryDirectories)%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>
+    </Lib>
     <Midl>
-      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </Midl>
     <ResourceCompile>
-      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(ConanPreprocessorDefinitions)%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalOptions>$(ConanCompilerFlags) %(AdditionalOptions)</AdditionalOptions>
     </ResourceCompile>
   </ItemDefinitionGroup>'''

{"golden_diff": "diff --git a/conans/client/generators/visualstudio.py b/conans/client/generators/visualstudio.py\n--- a/conans/client/generators/visualstudio.py\n+++ b/conans/client/generators/visualstudio.py\n@@ -19,8 +19,12 @@\n </Project>'''\n \n     properties_template = '''  <PropertyGroup Label=\"ConanVariables\"{condition}>\n-    <ConanBinaryDirectories>{bin_dirs};%(ConanBinaryDirectories)</ConanBinaryDirectories>\n-    <ConanResourceDirectories>{res_dirs};%(ConanResourceDirectories)$(</ConanResourceDirectories>\n+    <ConanCompilerFlags>{compiler_flags}</ConanCompilerFlags>\n+    <ConanPreprocessorDefinitions>{definitions}</ConanPreprocessorDefinitions>\n+    <ConanIncludeDirectories>{include_dirs}</ConanIncludeDirectories>\n+    <ConanResourceDirectories>{res_dirs}</ConanResourceDirectories>\n+    <ConanLibraryDirectories>{lib_dirs}</ConanLibraryDirectories>\n+    <ConanBinaryDirectories>{bin_dirs}</ConanBinaryDirectories>\n   </PropertyGroup>\n   <PropertyGroup{condition}>\n     <LocalDebuggerEnvironment>PATH=%PATH%;{bin_dirs}</LocalDebuggerEnvironment>\n@@ -28,22 +32,26 @@\n   </PropertyGroup>\n   <ItemDefinitionGroup{condition}>\n     <ClCompile>\n-      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n-      <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>\n-      <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>\n+      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n+      <PreprocessorDefinitions>$(ConanPreprocessorDefinitions)%(PreprocessorDefinitions)</PreprocessorDefinitions>\n+      <AdditionalOptions>$(ConanCompilerFlags) %(AdditionalOptions)</AdditionalOptions>\n     </ClCompile>\n     <Link>\n-      <AdditionalLibraryDirectories>{lib_dirs}%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n+      <AdditionalLibraryDirectories>$(ConanLibraryDirectories)%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n       <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>\n       <AdditionalOptions>{linker_flags} %(AdditionalOptions)</AdditionalOptions>\n     </Link>\n+    <Lib>\n+      <AdditionalLibraryDirectories>$(ConanLibraryDirectories)%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n+      <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>\n+    </Lib>\n     <Midl>\n-      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n+      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n     </Midl>\n     <ResourceCompile>\n-      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n-      <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>\n-      <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>\n+      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n+      <PreprocessorDefinitions>$(ConanPreprocessorDefinitions)%(PreprocessorDefinitions)</PreprocessorDefinitions>\n+      <AdditionalOptions>$(ConanCompilerFlags) %(AdditionalOptions)</AdditionalOptions>\n     </ResourceCompile>\n   </ItemDefinitionGroup>'''\n", "issue": "VS generator not exporting for <Lib> tag in vcxproj\nNeed to add Conan-handled lib to be referenced in .vcxproj in <Lib> tags. Conan VS-generator is exporting only in <Link> tag. \r\n\n", "before_files": [{"content": "import os\nimport re\n\nfrom conans.model import Generator\nfrom conans.paths import BUILD_INFO_VISUAL_STUDIO\nfrom conans.client.tools.files import VALID_LIB_EXTENSIONS\n\n\nclass VisualStudioGenerator(Generator):\n\n    template = '''<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ImportGroup Label=\"PropertySheets\" />\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup Label=\"Conan-RootDirs\">{item_properties}\n  </PropertyGroup>\n  {properties}\n  <ItemGroup />\n</Project>'''\n\n    properties_template = '''  <PropertyGroup Label=\"ConanVariables\"{condition}>\n    <ConanBinaryDirectories>{bin_dirs};%(ConanBinaryDirectories)</ConanBinaryDirectories>\n    <ConanResourceDirectories>{res_dirs};%(ConanResourceDirectories)$(</ConanResourceDirectories>\n  </PropertyGroup>\n  <PropertyGroup{condition}>\n    <LocalDebuggerEnvironment>PATH=%PATH%;{bin_dirs}</LocalDebuggerEnvironment>\n    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\n  </PropertyGroup>\n  <ItemDefinitionGroup{condition}>\n    <ClCompile>\n      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>\n    </ClCompile>\n    <Link>\n      <AdditionalLibraryDirectories>{lib_dirs}%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>\n      <AdditionalOptions>{linker_flags} %(AdditionalOptions)</AdditionalOptions>\n    </Link>\n    <Midl>\n      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n    </Midl>\n    <ResourceCompile>\n      <AdditionalIncludeDirectories>{include_dirs}%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>{definitions}%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <AdditionalOptions>{compiler_flags} %(AdditionalOptions)</AdditionalOptions>\n    </ResourceCompile>\n  </ItemDefinitionGroup>'''\n\n    item_template = '''\n    <Conan-{name}-Root>{root_dir}</Conan-{name}-Root>'''\n\n    def _format_items(self):\n        sections = []\n        for dep_name, cpp_info in self._deps_build_info.dependencies:\n            fields = {\n                'root_dir': cpp_info.rootpath,\n                'name': dep_name.replace(\".\", \"-\")\n            }\n            section = self.item_template.format(**fields)\n            sections.append(section)\n        return \"\".join(sections)\n\n    @property\n    def filename(self):\n        return BUILD_INFO_VISUAL_STUDIO\n\n    def _format_properties(self, build_info, condition):\n        def has_valid_ext(lib):\n            ext = os.path.splitext(lib)[1]\n            return ext in VALID_LIB_EXTENSIONS\n\n        fields = {\n            'condition': condition,\n            'bin_dirs': \"\".join(\"%s;\" % p for p in build_info.bin_paths),\n            'res_dirs': \"\".join(\"%s;\" % p for p in build_info.res_paths),\n            'include_dirs': \"\".join(\"%s;\" % p for p in build_info.include_paths),\n            'lib_dirs': \"\".join(\"%s;\" % p for p in build_info.lib_paths),\n            'libs': \"\".join(['%s.lib;' % lib if not has_valid_ext(lib)\n                             else '%s;' % lib for lib in build_info.libs]),\n            'definitions': \"\".join(\"%s;\" % d for d in build_info.defines),\n            'compiler_flags': \" \".join(build_info.cxxflags + build_info.cflags),\n            'linker_flags': \" \".join(build_info.sharedlinkflags),\n            'exe_flags': \" \".join(build_info.exelinkflags)\n        }\n        formatted_template = self.properties_template.format(**fields)\n        return formatted_template\n\n    @property\n    def content(self):\n        per_item_props = self._format_items()\n\n        properties = [self._format_properties(self._deps_build_info, condition='')]\n        for config, cpp_info in self._deps_build_info.configs.items():\n            condition = \" Condition=\\\"'$(Configuration)' == '%s'\\\"\" % config\n            properties.append(self._format_properties(cpp_info, condition=condition))\n\n        fields = {\n            'item_properties': per_item_props,\n            'properties': '\\n'.join(properties)\n        }\n        formatted_template = self.template.format(**fields)\n\n        userprofile = os.getenv(\"USERPROFILE\")\n        if userprofile:\n            userprofile = userprofile.replace(\"\\\\\", \"\\\\\\\\\")\n            formatted_template = re.sub(userprofile, \"$(USERPROFILE)\", formatted_template,\n                                        flags=re.I)\n        return formatted_template\n", "path": "conans/client/generators/visualstudio.py"}], "after_files": [{"content": "import os\nimport re\n\nfrom conans.model import Generator\nfrom conans.paths import BUILD_INFO_VISUAL_STUDIO\nfrom conans.client.tools.files import VALID_LIB_EXTENSIONS\n\n\nclass VisualStudioGenerator(Generator):\n\n    template = '''<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ImportGroup Label=\"PropertySheets\" />\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup Label=\"Conan-RootDirs\">{item_properties}\n  </PropertyGroup>\n  {properties}\n  <ItemGroup />\n</Project>'''\n\n    properties_template = '''  <PropertyGroup Label=\"ConanVariables\"{condition}>\n    <ConanCompilerFlags>{compiler_flags}</ConanCompilerFlags>\n    <ConanPreprocessorDefinitions>{definitions}</ConanPreprocessorDefinitions>\n    <ConanIncludeDirectories>{include_dirs}</ConanIncludeDirectories>\n    <ConanResourceDirectories>{res_dirs}</ConanResourceDirectories>\n    <ConanLibraryDirectories>{lib_dirs}</ConanLibraryDirectories>\n    <ConanBinaryDirectories>{bin_dirs}</ConanBinaryDirectories>\n  </PropertyGroup>\n  <PropertyGroup{condition}>\n    <LocalDebuggerEnvironment>PATH=%PATH%;{bin_dirs}</LocalDebuggerEnvironment>\n    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\n  </PropertyGroup>\n  <ItemDefinitionGroup{condition}>\n    <ClCompile>\n      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>$(ConanPreprocessorDefinitions)%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <AdditionalOptions>$(ConanCompilerFlags) %(AdditionalOptions)</AdditionalOptions>\n    </ClCompile>\n    <Link>\n      <AdditionalLibraryDirectories>$(ConanLibraryDirectories)%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>\n      <AdditionalOptions>{linker_flags} %(AdditionalOptions)</AdditionalOptions>\n    </Link>\n    <Lib>\n      <AdditionalLibraryDirectories>$(ConanLibraryDirectories)%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\n      <AdditionalDependencies>{libs}%(AdditionalDependencies)</AdditionalDependencies>\n    </Lib>\n    <Midl>\n      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n    </Midl>\n    <ResourceCompile>\n      <AdditionalIncludeDirectories>$(ConanIncludeDirectories)%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>$(ConanPreprocessorDefinitions)%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <AdditionalOptions>$(ConanCompilerFlags) %(AdditionalOptions)</AdditionalOptions>\n    </ResourceCompile>\n  </ItemDefinitionGroup>'''\n\n    item_template = '''\n    <Conan-{name}-Root>{root_dir}</Conan-{name}-Root>'''\n\n    def _format_items(self):\n        sections = []\n        for dep_name, cpp_info in self._deps_build_info.dependencies:\n            fields = {\n                'root_dir': cpp_info.rootpath,\n                'name': dep_name.replace(\".\", \"-\")\n            }\n            section = self.item_template.format(**fields)\n            sections.append(section)\n        return \"\".join(sections)\n\n    @property\n    def filename(self):\n        return BUILD_INFO_VISUAL_STUDIO\n\n    def _format_properties(self, build_info, condition):\n        def has_valid_ext(lib):\n            ext = os.path.splitext(lib)[1]\n            return ext in VALID_LIB_EXTENSIONS\n\n        fields = {\n            'condition': condition,\n            'bin_dirs': \"\".join(\"%s;\" % p for p in build_info.bin_paths),\n            'res_dirs': \"\".join(\"%s;\" % p for p in build_info.res_paths),\n            'include_dirs': \"\".join(\"%s;\" % p for p in build_info.include_paths),\n            'lib_dirs': \"\".join(\"%s;\" % p for p in build_info.lib_paths),\n            'libs': \"\".join(['%s.lib;' % lib if not has_valid_ext(lib)\n                             else '%s;' % lib for lib in build_info.libs]),\n            'definitions': \"\".join(\"%s;\" % d for d in build_info.defines),\n            'compiler_flags': \" \".join(build_info.cxxflags + build_info.cflags),\n            'linker_flags': \" \".join(build_info.sharedlinkflags),\n            'exe_flags': \" \".join(build_info.exelinkflags)\n        }\n        formatted_template = self.properties_template.format(**fields)\n        return formatted_template\n\n    @property\n    def content(self):\n        per_item_props = self._format_items()\n\n        properties = [self._format_properties(self._deps_build_info, condition='')]\n        for config, cpp_info in self._deps_build_info.configs.items():\n            condition = \" Condition=\\\"'$(Configuration)' == '%s'\\\"\" % config\n            properties.append(self._format_properties(cpp_info, condition=condition))\n\n        fields = {\n            'item_properties': per_item_props,\n            'properties': '\\n'.join(properties)\n        }\n        formatted_template = self.template.format(**fields)\n\n        userprofile = os.getenv(\"USERPROFILE\")\n        if userprofile:\n            userprofile = userprofile.replace(\"\\\\\", \"\\\\\\\\\")\n            formatted_template = re.sub(userprofile, \"$(USERPROFILE)\", formatted_template,\n                                        flags=re.I)\n        return formatted_template\n", "path": "conans/client/generators/visualstudio.py"}]}