[Tizen] Add BuildTools 2.1.0-rc1-02804-05
[platform/upstream/coreclr.git] / Tools / Microsoft.VisualBasic.CurrentVersion.targets
1 <!--
2 ***********************************************************************************************
3 Microsoft.VisualBasic.CurrentVersion.targets
4
5 WARNING:  DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
6           created a backup copy.  Incorrect changes to this file will make it
7           impossible to load or build your projects from the command-line or the IDE.
8
9 This file defines the steps in the standard build process specific for VB .NET projects.
10 For example, it contains the step that actually calls the VB compiler.  The remainder
11 of the build process is defined in Microsoft.Common.targets, which is imported by 
12 this file.
13
14 Copyright (C) Microsoft Corporation. All rights reserved.
15 ***********************************************************************************************
16 -->
17
18 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
19
20     <PropertyGroup>
21        <ImportByWildcardBeforeMicrosoftVisualBasicTargets Condition="'$(ImportByWildcardBeforeMicrosoftVisualBasicTargets)' == ''">true</ImportByWildcardBeforeMicrosoftVisualBasicTargets>
22        <ImportByWildcardAfterMicrosoftVisualBasicTargets Condition="'$(ImportByWildcardAfterMicrosoftVisualBasicTargets)' == ''">true</ImportByWildcardAfterMicrosoftVisualBasicTargets>
23        <ImportUserLocationsByWildcardBeforeMicrosoftVisualBasicTargets Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftVisualBasicTargets)' == ''">true</ImportUserLocationsByWildcardBeforeMicrosoftVisualBasicTargets>
24        <ImportUserLocationsByWildcardAfterMicrosoftVisualBasicTargets Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftVisualBasicTargets)' == ''">true</ImportUserLocationsByWildcardAfterMicrosoftVisualBasicTargets>    
25     </PropertyGroup>
26
27     <Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportBefore\*" Condition="'$(ImportUserLocationsByWildcardBeforeMicrosoftVisualBasicTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportBefore')"/>
28     <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportBefore\*" Condition="'$(ImportByWildcardBeforeMicrosoftVisualBasicTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportBefore')"/>
29
30     <PropertyGroup>
31        <CustomBeforeMicrosoftVisualBasicTargets Condition="'$(CustomBeforeMicrosoftVisualBasicTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.Before.Microsoft.VisualBasic.targets</CustomBeforeMicrosoftVisualBasicTargets>
32        <CustomAfterMicrosoftVisualBasicTargets Condition="'$(CustomAfterMicrosoftVisualBasicTargets)'==''">$(MSBuildExtensionsPath)\v$(MSBuildToolsVersion)\Custom.After.Microsoft.VisualBasic.targets</CustomAfterMicrosoftVisualBasicTargets>
33     </PropertyGroup>
34
35     <Import Project="$(CustomBeforeMicrosoftVisualBasicTargets)" Condition="'$(CustomBeforeMicrosoftVisualBasicTargets)' != '' and Exists('$(CustomBeforeMicrosoftVisualBasicTargets)')" />
36
37     <PropertyGroup>
38         <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
39         <DefaultLanguageSourceExtension>.vb</DefaultLanguageSourceExtension>
40         <Language>VB</Language>
41         <TargetRuntime>Managed</TargetRuntime>
42         <AlwaysUseNumericalSuffixInItemNames>true</AlwaysUseNumericalSuffixInItemNames>
43         <DefineCommonItemSchemas Condition=" '$(DefineCommonItemSchemas)' == '' ">true</DefineCommonItemSchemas>
44         <DefineCommonReferenceSchemas Condition=" '$(DefineCommonReferenceSchemas)' == '' ">true</DefineCommonReferenceSchemas>
45         <DefineCommonCapabilities Condition=" '$(DefineCommonCapabilities)' == '' ">true</DefineCommonCapabilities>
46         <SynthesizeLinkMetadata Condition=" '$(SynthesizeLinkMetadata)' == '' and '$(HasSharedItems)' == 'true' ">true</SynthesizeLinkMetadata>
47         <DefaultProjectTypeGuid Condition=" '$(DefaultProjectTypeGuid)' == '' ">{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</DefaultProjectTypeGuid>
48         <AppDesignerFolder Condition="'$(AppDesignerFolder)' == ''">My Project</AppDesignerFolder>
49     </PropertyGroup>
50
51     <ItemGroup Condition=" '$(DefineVisualBasicItemSchemas)' != 'false' ">
52         <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)VisualBasic.ProjectItemsSchema.xaml;"/>
53         <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)VisualBasic.xaml;">
54             <Context>File</Context>
55         </PropertyPageSchema>
56         <PropertyPageSchema Include="$(CommonXamlResourcesDirectory)VisualBasic.BrowseObject.xaml;">
57             <Context>BrowseObject</Context>
58         </PropertyPageSchema>
59
60         <ProjectCapability Include="VB;Managed"/>
61     </ItemGroup>
62
63     <ItemGroup Condition=" '$(DefineCommonCapabilities)' == 'true' ">
64       <ProjectCapability Include="ReferencesFolder;LanguageService" />
65     </ItemGroup>
66
67     <!--
68     The CreateManifestResourceNames target create the manifest resource names from the .RESX
69     files.      
70     
71         [IN]
72         @(EmbeddedResource) - The list of EmbeddedResource items that have been pre-processed to add metadata about resource type
73                               Expected Metadata "Type" can either be "Resx" or "Non-Resx"
74
75         [OUT]
76         @(EmbeddedResource) - EmbeddedResource items with metadata    
77
78     For VB applications the transformation is like:
79
80         Resources1.resx => RootNamespace.Resources1 => Build into main assembly
81         SubFolder\Resources1.resx => RootNamespace.Resources1 => Build into main assembly
82         Resources1.fr.resx => RootNamespace.Resources1.fr => Build into satellite assembly
83         Resources1.notaculture.resx => RootNamespace.Resources1.notaculture => Build into main assembly
84
85     For other project systems, this transformation may be different.
86     -->
87     <PropertyGroup>
88         <CreateManifestResourceNamesDependsOn></CreateManifestResourceNamesDependsOn>
89     </PropertyGroup>
90     <Target
91         Name="CreateManifestResourceNames"
92         Condition="'@(EmbeddedResource)' != ''"
93         DependsOnTargets="$(CreateManifestResourceNamesDependsOn)"
94         >
95         
96         <ItemGroup>
97             <_Temporary Remove="@(_Temporary)" />
98         </ItemGroup>
99         
100         <!-- Create manifest names for culture and non-culture Resx files, and for non-culture Non-Resx resources -->
101         <CreateVisualBasicManifestResourceName
102               ResourceFiles="@(EmbeddedResource)"
103               RootNamespace="$(RootNamespace)"
104               Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and ('%(EmbeddedResource.WithCulture)' == 'false' or '%(EmbeddedResource.Type)' == 'Resx')">
105
106             <Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
107
108         </CreateVisualBasicManifestResourceName>
109         
110         <!-- Create manifest names for all culture non-resx resources -->
111         <CreateVisualBasicManifestResourceName
112               ResourceFiles="@(EmbeddedResource)"
113               RootNamespace="$(RootNamespace)"
114               PrependCultureAsDirectory="false"              
115               Condition="'%(EmbeddedResource.ManifestResourceName)' == '' and '%(EmbeddedResource.WithCulture)' == 'true' and '%(EmbeddedResource.Type)' == 'Non-Resx'">
116
117             <Output TaskParameter="ResourceFilesWithManifestResourceNames" ItemName="_Temporary" />
118
119         </CreateVisualBasicManifestResourceName>
120
121         <ItemGroup>
122             <EmbeddedResource Remove="@(EmbeddedResource)" Condition="'%(EmbeddedResource.ManifestResourceName)' == ''"/>
123             <EmbeddedResource Include="@(_Temporary)" />
124             <_Temporary Remove="@(_Temporary)" />
125         </ItemGroup>
126       
127     </Target>
128
129     <Target
130         Name="ResolveCodeAnalysisRuleSet"
131         Condition="'$(CodeAnalysisRuleSet)' != ''"
132         >
133
134         <ResolveCodeAnalysisRuleSet
135             CodeAnalysisRuleSet="$(CodeAnalysisRuleSet)"
136             CodeAnalysisRuleSetDirectories="$(CodeAnalysisRuleSetDirectories)"
137             MSBuildProjectDirectory="$(MSBuildProjectDirectory)">
138
139             <Output TaskParameter="ResolvedCodeAnalysisRuleSet" PropertyName="ResolvedCodeAnalysisRuleSet" />
140
141         </ResolveCodeAnalysisRuleSet>
142
143     </Target>
144
145     <PropertyGroup>
146         <FinalDefineConstants>CONFIG=&quot;$(Configuration)&quot;</FinalDefineConstants>
147         <FinalDefineConstants Condition=" '$(DefineDebug)' == 'true' ">$(FinalDefineConstants),DEBUG=-1</FinalDefineConstants>
148         <FinalDefineConstants Condition=" '$(DefineTrace)' == 'true' ">$(FinalDefineConstants),TRACE=-1</FinalDefineConstants>
149         <FinalDefineConstants Condition=" '$(MyType)' != '' ">$(FinalDefineConstants),_MyType=&quot;$(MyType)&quot;</FinalDefineConstants>
150         <FinalDefineConstants Condition=" '$(Platform)' != '' ">$(FinalDefineConstants),PLATFORM=&quot;$(Platform)&quot;</FinalDefineConstants>
151         <FinalDefineConstants Condition=" '$(Platform)' == '' ">$(FinalDefineConstants),PLATFORM=&quot;AnyCPU&quot;</FinalDefineConstants>
152         <FinalDefineConstants Condition=" '$(DefineConstants)' != '' ">$(FinalDefineConstants),$(DefineConstants)</FinalDefineConstants>
153
154         <!-- Provide a facility to override UseHostCompilerIfAvailable-->
155         <UseHostCompilerIfAvailable Condition=" '$(UseHostCompilerIfAvailable)' == ''">true</UseHostCompilerIfAvailable>
156     </PropertyGroup>
157
158     <ItemGroup>
159         <DocFileItem Include="$(IntermediateOutputPath)$(DocumentationFile)"  Condition="'$(DocumentationFile)'!=''"/>
160     </ItemGroup>
161
162     <ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true' and '$(PdbFile)' != ''">
163         <_DebugSymbolsIntermediatePathTemporary Include="$(PdbFile)"/>
164         <!-- Add any missing .pdb extension, as the compiler does -->
165         <_DebugSymbolsIntermediatePath Include="@(_DebugSymbolsIntermediatePathTemporary->'%(RootDir)%(Directory)%(Filename).pdb')"/>
166     </ItemGroup>
167
168     <PropertyGroup>
169         <CoreCompileDependsOn>_ComputeNonExistentFileProperty;ResolveCodeAnalysisRuleSet</CoreCompileDependsOn>
170         <ExportWinMDFile Condition="'$(ExportWinMDFile)' == '' and '$(OutputType)' == 'WinMDObj'">true</ExportWinMDFile>
171     </PropertyGroup>
172
173 <!--
174       The XamlPreCompile target must remain identical to
175       the CoreCompile target in Microsoft.VisualBasic.Core.targets.
176       Any updates to one must be made to the other.
177 -->
178     <Target
179         Name="XamlPreCompile"
180         Inputs="$(MSBuildAllProjects);
181                 @(Compile);
182                 @(_CoreCompileResourceInputs);
183                 $(ApplicationIcon);
184                 $(AssemblyOriginatorKeyFile);
185                 @(ReferencePath);
186                 @(CompiledLicenseFile);
187                 @(LinkResource);
188                 @(EmbeddedDocumentation);
189                 $(Win32Resource);
190                 $(Win32Manifest);
191                 @(Page);
192                 @(ApplicationDefinition);
193                 @(CustomAdditionalCompileInputs);
194                 $(ResolvedCodeAnalysisRuleSet)"
195         Outputs="@(DocFileItem);
196                  @(XamlIntermediateAssembly);
197                  @(_DebugSymbolsIntermediatePath);
198                  $(NonExistentFile);
199                  @(CustomAdditionalCompileOutputs)"
200         Returns=""
201         DependsOnTargets="$(CoreCompileDependsOn)"
202         Condition="'@(Page)' != '' Or '@(ApplicationDefinition)' != ''"
203     >
204         <PropertyGroup>
205             <_NoWarnings Condition=" '$(WarningLevel)' == '0' ">true</_NoWarnings>
206             <_NoWarnings Condition=" '$(WarningLevel)' == '1' ">false</_NoWarnings>
207         </PropertyGroup> 
208         
209         <PropertyGroup>
210           <!-- If we are targeting winmdobj we want to specifically set the pdbFile property so that it does not collide with the output of winmdexp which we will run subsequently -->
211           <PdbFile Condition="'$(PdbFile)' == '' and '$(OutputType)' == 'winmdobj' and '$(DebugSymbols)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
212         </PropertyGroup>
213
214         <ItemGroup Condition="'$(TargetingClr2Framework)'=='true'">
215             <ReferencePath>
216                 <EmbedInteropTypes/>
217             </ReferencePath>
218         </ItemGroup>
219
220         <!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 -->
221         <PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')">
222             <Prefer32Bit>false</Prefer32Bit>
223         </PropertyGroup>
224
225         <ItemGroup Condition="('$(AdditionalFileItemNames)' != '')">
226           <AdditionalFileItems Include="$(AdditionalFileItemNames)" />
227           <AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" />
228         </ItemGroup>
229       
230         <!-- Don't run analyzers for Vbc task on XamlPrecompile pass, we only want to run them on core compile. -->
231         <!-- Analyzers="@(Analyzer)" -->
232
233         <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
234           <UseSharedCompilation>true</UseSharedCompilation>
235         </PropertyGroup>
236
237         <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
238         <Vbc  Condition=" '%(_CoreCompileResourceInputs.WithCulture)' != 'true' "
239               AdditionalLibPaths="$(AdditionalLibPaths)"
240               AddModules="@(AddModules)"
241               AdditionalFiles="@(AdditionalFiles)"
242               BaseAddress="$(BaseAddress)"
243               CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
244               CodePage="$(CodePage)"
245               DebugType="$(DebugType)"
246               DefineConstants="$(FinalDefineConstants)"
247               DelaySign="$(DelaySign)"
248               DisabledWarnings="$(NoWarn)"
249               DocumentationFile="@(DocFileItem)"
250               EmitDebugInformation="$(DebugSymbols)"
251               EnvironmentVariables="$(VbcEnvironment)"
252               ErrorLog="$(ErrorLog)"
253               ErrorReport="$(ErrorReport)"
254               FileAlignment="$(FileAlignment)"
255               GenerateDocumentation="$(GenerateDocumentation)"
256               HighEntropyVA="$(HighEntropyVA)"
257               Imports="@(Import)"
258               KeyContainer="$(KeyContainerName)"
259               KeyFile="$(KeyOriginatorFile)"
260               LangVersion="$(LangVersion)"
261               LinkResources="@(LinkResource)"
262               MainEntryPoint="$(StartupObject)"
263               ModuleAssemblyName="$(ModuleAssemblyName)"
264               NoConfig="true"
265               NoStandardLib="$(NoCompilerStandardLib)"
266               NoVBRuntimeReference="$(NoVBRuntimeReference)"
267               NoWarnings="$(_NoWarnings)"
268               NoWin32Manifest="$(NoWin32Manifest)"
269               Optimize="$(Optimize)"
270               OptionCompare="$(OptionCompare)"
271               OptionExplicit="$(OptionExplicit)"
272               OptionInfer="$(OptionInfer)"
273               OptionStrict="$(OptionStrict)"
274               OptionStrictType="$(OptionStrictType)" 
275               OutputAssembly="@(XamlIntermediateAssembly)"
276               Platform="$(PlatformTarget)"
277               Prefer32Bit="$(Prefer32Bit)"
278               PreferredUILang="$(PreferredUILang)"
279               References="@(ReferencePath)"
280               RemoveIntegerChecks="$(RemoveIntegerChecks)"
281               ReportAnalyzer="$(ReportAnalyzer)"
282               Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)"
283               ResponseFiles="$(CompilerResponseFile)"
284               RootNamespace="$(RootNamespace)"
285               PdbFile="$(PdbFile)"
286               SdkPath="$(FrameworkPathOverride)"
287               Sources="@(Compile)"
288               SubsystemVersion="$(SubsystemVersion)"
289               TargetCompactFramework="$(TargetCompactFramework)"
290               TargetType="$(OutputType)"
291               ToolExe="$(VbcToolExe)"
292               ToolPath="$(VbcToolPath)"
293               TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
294               UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
295               UseSharedCompilation="$(UseSharedCompilation)"
296               Utf8Output="$(Utf8Output)"
297               VBRuntimePath="$(VBRuntimePath)"
298               Verbosity="$(VbcVerbosity)"
299               VsSessionGuid="$(VsSessionGuid)"
300               WarningsAsErrors="$(WarningsAsErrors)"
301               WarningsNotAsErrors="$(WarningsNotAsErrors)"
302               Win32Icon="$(ApplicationIcon)"
303               Win32Manifest="$(Win32Manifest)"
304               Win32Resource="$(Win32Resource)"
305               VBRuntime="$(VBRuntime)"
306               />
307
308  <!-- Only Applicable to the regular CoreCompile:
309               <ItemGroup>
310                   <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />                  
311               </ItemGroup>    
312               
313               <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''"/>         
314  -->         
315         <OnError Condition="'$(OnXamlPreCompileErrorTarget)' != ''" ExecuteTargets="$(OnXamlPreCompileErrorTarget)" />    
316     </Target>
317
318     <PropertyGroup>
319         <VisualBasicCoreTargetsPath Condition="'$(VisualBasicCoreTargetsPath)' == ''">$(RoslynTargetsPath)\Microsoft.VisualBasic.Core.targets</VisualBasicCoreTargetsPath>
320     </PropertyGroup>
321
322     <Import Project="$(VisualBasicCoreTargetsPath)" />
323
324     <!-- Import design time targets for Roslyn Project System. These are only available if Visual Studio is installed. -->
325     <!-- Import design time targets before the common targets, which import targets from Nuget. -->
326     <PropertyGroup>
327        <VisualBasicDesignTimeTargetsPath Condition="'$(VisualBasicDesignTimeTargetsPath)'==''">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.VisualBasic.DesignTime.targets</VisualBasicDesignTimeTargetsPath>
328     </PropertyGroup>
329     <Import Project="$(VisualBasicDesignTimeTargetsPath)" Condition="'$(VisualBasicDesignTimeTargetsPath)' != '' and Exists('$(VisualBasicDesignTimeTargetsPath)')" />
330
331     <Import Project="Microsoft.Common.targets" />
332     <Import Project="$(MSBuildToolsPath)\Microsoft.ServiceModel.targets" Condition="('$(TargetFrameworkVersion)' != 'v2.0' and '$(TargetFrameworkVersion)' != 'v3.0' and '$(TargetFrameworkVersion)' != 'v3.5') and Exists('$(MSBuildToolsPath)\Microsoft.ServiceModel.targets')"/>
333
334     <Target Name="_SetTargetFrameworkMonikerAttribute" BeforeTargets="GenerateTargetFrameworkMonikerAttribute">
335         <PropertyGroup>
336         <!-- This attribute is only available in mscorlib v4 and later -->
337         <TargetFrameworkMonikerAssemblyAttributeText Condition="'$(TargetFrameworkMoniker)' != '' and '$(TargetingClr2Framework)' != 'true'">
338             Option Strict Off
339             Option Explicit On
340
341             Imports System
342             Imports System.Reflection
343             &lt;Assembly: Global.System.Runtime.Versioning.TargetFrameworkAttribute(&quot;$(TargetFrameworkMoniker)&quot;, FrameworkDisplayName:=&quot;$(TargetFrameworkMonikerDisplayName)&quot;)&gt;
344         </TargetFrameworkMonikerAssemblyAttributeText>
345         </PropertyGroup>
346     </Target>
347
348     <PropertyGroup>
349        <Utf8Output Condition="'$(Utf8Output)' == ''">true</Utf8Output>
350
351       <!-- NoCompilerStandardLib maps to the compiler's /nostdlib option. By default we always
352            want that switch to be passed to the compiler so that either we or the user
353            provides the references
354            NoStdLib on the other hand indicates that the user doesn't want standard references
355            so only if NoStdLib isn't set to true, will we provide the standard references
356       -->
357       <NoCompilerStandardLib Condition=" '$(NoCompilerStandardLib)' == '' ">true</NoCompilerStandardLib>
358
359        <!-- When building inside VS, by default use the same language for compiler messages as VS itself does. -->
360        <PreferredUILang Condition="'$(BuildingInsideVisualStudio)' == 'true' and '$(PreferredUILang)' == ''">$([System.Globalization.CultureInfo]::CurrentUICulture.Name)</PreferredUILang>
361     </PropertyGroup>
362
363     <!-- Add any "automatic" compiler references that need to be resolved when NoCompilerStandardLib is set
364          but the user hasn't told us to not include standard references -->
365     <ItemGroup Condition=" '$(NoCompilerStandardLib)' == 'true' and '$(NoStdLib)' != 'true' ">
366       <!-- Note that unlike C#, VB gets its mscorlib.dll path from the $(FrameworkPathOverride) property
367            via the /sdkpath parameter.
368            In addition to that, VB normally treats System.dll as a "standard library" however since we are
369            passing NoCompilerStandardLib=true we need an explicit reference to System in order to maintain the
370            correct behaviour.
371       -->
372         <_ExplicitReference Include="$(FrameworkPathOverride)\System.dll" />
373     </ItemGroup>
374
375     <Import Project="$(CustomAfterMicrosoftVisualBasicTargets)" Condition="'$(CustomAfterMicrosoftVisualBasicTargets)' != '' and Exists('$(CustomAfterMicrosoftVisualBasicTargets)')" />
376
377     <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportAfter\*" Condition="'$(ImportByWildcardAfterMicrosoftVisualBasicTargets)' == 'true' and exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportAfter')"/>
378     <Import Project="$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportAfter\*" Condition="'$(ImportUserLocationsByWildcardAfterMicrosoftVisualBasicTargets)' == 'true' and exists('$(MSBuildUserExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.VisualBasic.targets\ImportAfter')"/>
379
380 </Project>