1 // Copyright (c) Microsoft. All rights reserved.
2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3 
4 using System;
5 using Microsoft.Build.Shared;
6 
7 namespace Microsoft.Build.Conversion
8 {
9     /// <summary>
10     /// Contains strings identifying hint paths that we should remove
11     /// </summary>
12     /// <owner>AJenner</owner>
13     static internal class LegacyFrameworkPaths
14     {
15         internal const string RTMFrameworkPath       = "MICROSOFT.NET\\FRAMEWORK\\V1.0.3705";
16         internal const string EverettFrameworkPath   = "MICROSOFT.NET\\FRAMEWORK\\V1.1.4322";
17         internal const string JSharpRTMFrameworkPath = "MICROSOFT VISUAL JSHARP .NET\\FRAMEWORK\\V1.0.4205";
18     }
19 
20     /// <summary>
21     /// Contains the names of the known elements in the VS.NET project file.
22     /// </summary>
23     /// <owner>RGoel</owner>
24     static internal class VSProjectElements
25     {
26         internal const string visualStudioProject = "VisualStudioProject";
27         internal const string visualJSharp        = "VISUALJSHARP";
28         internal const string cSharp              = "CSHARP";
29         internal const string visualBasic         = "VisualBasic";
30         internal const string ECSharp             = "ECSHARP";
31         internal const string EVisualBasic        = "EVisualBasic";
32         internal const string build               = "Build";
33         internal const string settings            = "Settings";
34         internal const string config              = "Config";
35         internal const string platform            = "Platform";
36         internal const string interopRegistration = "InteropRegistration";
37         internal const string references          = "References";
38         internal const string reference           = "Reference";
39         internal const string files               = "Files";
40         internal const string imports             = "Imports";
41         internal const string import              = "Import";
42         internal const string include             = "Include";
43         internal const string exclude             = "Exclude";
44         internal const string file                = "File";
45         internal const string folder              = "Folder";
46         internal const string startupServices     = "StartupServices";
47         internal const string service             = "Service";
48         internal const string userProperties      = "UserProperties";
49         internal const string otherProjectSettings= "OtherProjectSettings";
50         internal const string PocketPC            = "Pocket PC";
51         internal const string WindowsCE           = "Windows CE";
52         internal const string Smartphone          = "Smartphone";
53         internal const string SystemDataCommon    = "System.Data.Common";
54         internal const string SystemSR            = "System.SR";
55         internal const string MSCorLib            = "MSCorLib";
56     }
57 
58     /// <summary>
59     /// Contains the names of the known elements in the VS.NET project file.
60     /// </summary>
61     /// <owner>RGoel</owner>
62     static internal class VSProjectAttributes
63     {
64         internal const string relPath             = "RelPath";
65         internal const string name                = "Name";
66         internal const string guid                = "Guid";
67         internal const string project             = "Project";
68         internal const string projectType         = "ProjectType";
69         internal const string local               = "Local";
70         internal const string assemblyName        = "AssemblyName";
71         internal const string importNamespace     = "Namespace";
72         internal const string id                  = "ID";
73         internal const string link                = "Link";
74         internal const string buildAction         = "BuildAction";
75         internal const string buildActionNone     = "None";
76         internal const string buildActionResource = "EmbeddedResource";
77         internal const string webReferences       = "WebReferences";
78         internal const string webReferenceUrl     = "WebReferenceUrl";
79         internal const string projectGuid         = "ProjectGuid";
80         internal const string preBuildEvent       = "PreBuildEvent";
81         internal const string postBuildEvent      = "PostBuildEvent";
82         internal const string productVersion      = "ProductVersion";
83         internal const string schemaVersion       = "SchemaVersion";
84         internal const string outputPath          = "OutputPath";
85         internal const string officeDocumentPath  = "OfficeDocumentPath";
86         internal const string officeDocumentType  = "OfficeProjectType";
87         internal const string officeProject       = "OfficeProject";
88         internal const string additionalOptions   = "AdditionalOptions";
89         internal const string platform            = "Platform";
90         internal const string selectedDevice      = "SelectedDevice";
91         internal const string deploymentPlatform  = "DeploymentPlatform";
92         internal const string incrementalBuild    = "IncrementalBuild";
93         internal const string hintPath            = "HintPath";
94         internal const string documentationFile   = "DocumentationFile";
95         internal const string debugType           = "DebugType";
96         internal const string debugTypeNone       = "none";
97         internal const string debugTypeFull       = "full";
98         internal const string errorReport         = "ErrorReport";
99         internal const string errorReportPrompt   = "prompt";
100     }
101 
102     /// <summary>
103     /// Contains the names of some of the hard-coded strings we'll be inserting into the newly converted MSBuild project file.
104     /// </summary>
105     /// <owner>RGoel</owner>
106     static internal class XMakeProjectStrings
107     {
108         internal const string project                     = "Project";
109         internal const string defaultTargets              = "Build";
110         internal const string msbuildVersion              = "MSBuildVersion";
111         internal const string xmlns                       = "xmlns";
112         internal const string importPrefix                = "$(MSBuildToolsPath)\\";
113         internal const string importSuffix                = ".targets";
114         internal const string targetsFilenamePrefix       = "Microsoft.";
115         internal const string csharpTargets               = "CSharp";
116         internal const string visualBasicTargets          = "VisualBasic";
117         internal const string visualJSharpTargets         = "VisualJSharp";
118         internal const string triumphImport               = "$(MSBuildExtensionsPath)\\Microsoft\\VisualStudio\\v9.0\\OfficeTools\\Microsoft.VisualStudio.OfficeTools.targets";
119         internal const string officeTargetsVS2005Import   = @"$(MSBuildExtensionsPath)\Microsoft.VisualStudio.OfficeTools.targets";
120         internal const string officeTargetsVS2005Import2  = @"$(MSBuildExtensionsPath)\Microsoft.VisualStudio.OfficeTools2.targets";
121         internal const string officeTargetsVS2005Repair   = @"OfficeTools\Microsoft.VisualStudio.Tools.Office.targets";
122         internal const string configurationPrefix         = " '$(Configuration)' == '";
123         internal const string configurationSuffix         = "' ";
124         internal const string configuration               = "Configuration";
125         internal const string platformPrefix              = " '$(Platform)' == '";
126         internal const string platformSuffix              = "' ";
127         internal const string platform                    = "Platform";
128         internal const string configplatformPrefix        = " '$(Configuration)|$(Platform)' == '";
129         internal const string configplatformSeparator     = "|";
130         internal const string configplatformSuffix        = "' ";
131         internal const string defaultConfiguration        = "Debug";
132         internal const string defaultPlatform             = "AnyCPU";
133         internal const string x86Platform                 = "x86";
134         internal const string debugSymbols                = "DebugSymbols";
135         internal const string reference                   = "Reference";
136         internal const string comReference                = "COMReference";
137         internal const string projectReference            = "ProjectReference";
138         internal const string import                      = "Import";
139         internal const string service                     = "Service";
140         internal const string folder                      = "Folder";
141         internal const string link                        = "Link";
142         internal const string autogen                     = "AutoGen";
143         internal const string webReferences               = "WebReferences";
144         internal const string webReferenceUrl             = "WebReferenceUrl";
145         internal const string relPath                     = "RelPath";
146         internal const string visualStudio                = "VisualStudio";
147         internal const string webRefEnableProperties      = "WebReference_EnableProperties";
148         internal const string webRefEnableSqlTypes        = "WebReference_EnableSQLTypes";
149         internal const string webRefEnableLegacyEventing  = "WebReference_EnableLegacyEventingModel";
150         internal const string xmlNamespace                = "http://schemas.microsoft.com/developer/msbuild/2003";
151 
152         internal const string cSharpGuid                  = "FAE04EC0-301F-11D3-BF4B-00C04F79EFBC";
153         internal const string visualBasicGuid             = "F184B08F-C81C-45F6-A57F-5ABD9991F28F";
154         internal const string visualJSharpGuid            = "E6FDF86B-F3D1-11D4-8576-0002A516ECE8";
155         internal const string triumphProjectTypeGuid      = "BAA0C2D2-18E2-41B9-852F-F413020CAA33";
156         internal const string VSDCSProjectTypeGuid        = "4D628B5B-2FBC-4AA6-8C16-197242AEB884";
157         internal const string VSDVBProjectTypeGuid        = "68B1623D-7FB9-47D8-8664-7ECEA3297D4F";
158         internal const string wpfFlavorGuid               = "60dc8134-eba5-43b8-bcc9-bb4bc16c2548";
159         internal const string projectTypeGuids            = "ProjectTypeGuids";
160         internal const string platformID                  = "PlatformID";
161         internal const string platformFamilyName          = "PlatformFamilyName";
162         internal const string deployTargetSuffix          = "DeployDirSuffix";
163         internal const string disableCSHostProc           = "<FlavorProperties GUID=\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\">\n<HostingProcess disable=\"1\" />\n</FlavorProperties>";
164         internal const string disableVBHostProc           = "<FlavorProperties GUID=\"{F184B08F-C81C-45F6-A57F-5ABD9991F28F}\">\n<HostingProcess disable=\"1\" />\n</FlavorProperties>";
165         internal const string SDECSTargets                = "Microsoft.CompactFramework.CSharp.targets";
166         internal const string SDEVBTargets                = "Microsoft.CompactFramework.VisualBasic.targets";
167         internal const string TargetFrameworkVersion      = "TargetFrameworkVersion";
168         internal const string TargetFrameworkSubset       = "TargetFrameworkSubset";
169         internal const string TargetFrameworkProfile      = "TargetFrameworkProfile";
170         internal const string ClientProfile               = "Client";
171         internal const string vOne                        = "v1.0";
172         internal const string vTwo                        = "v2.0";
173         internal const string noWarn                      = "NoWarn";
174         internal const string disabledVBWarnings          = "42016,42017,42018,42019,42032,42353,42354,42355";
175         internal const string xmlFileExtension            = ".xml";
176         internal const string csdprojFileExtension        = ".csdproj";
177         internal const string vbdprojFileExtension        = ".vbdproj";
178         internal const string csprojFileExtension         = ".csproj";
179         internal const string vbprojFileExtension         = ".vbproj";
180         internal const string myType                      = "MyType";
181         internal const string web                         = "Web";
182         internal const string windowsFormsWithCustomSubMain = "WindowsFormsWithCustomSubMain";
183         internal const string windows                     = "Windows";
184         internal const string codeAnalysisRuleAssemblies  = "CodeAnalysisRuleAssemblies";
185         internal const string console                     = "Console";
186         internal const string empty                       = "Empty";
187         internal const string exe                         = "Exe";
188         internal const string library                     = "Library";
189         internal const string winExe                      = "WinExe";
190         internal const string outputType                  = "OutputType";
191         internal const string fileUpgradeFlags            = "FileUpgradeFlags";
192         internal const string content                     = "Content";
193         internal const string copytooutput                = "CopyToOutputDirectory";
194         internal const string preservenewest              = "PreserveNewest";
195         internal const string toolsVersion                = MSBuildConstants.CurrentToolsVersion;
196         internal const string vbTargetsVS2008             = @"$(MSBuildToolsPath)\Microsoft.VisualBasic.targets";
197         internal const string vbTargetsVS2005             = @"$(MSBuildBinPath)\Microsoft.VisualBasic.targets";
198         internal const string vsToolsPath                 = @"VSToolsPath";
199         internal const string visualStudioVersion         = @"VisualStudioVersion";
200         internal const string toRepairPatternForAssetCompat = @"$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\";
201         internal const string toRepairPatternForAssetCompatBeforeV10 = @"$(MSBuildExtensionsPath)\Microsoft\VisualStudio\";
202         internal const string toRepairPatternForAssetCompatV10 = @"$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\";
203         internal const string repairHardCodedPathPattern = @"^v\d{1,2}\.\d\\";
204     }
205 }
206