devenv.patch

Patch adding the missing changes for VS2013 and 2012 - Richard Pastrick, 01/28/2015 11:08 pm

Download (3.6 kB)

 
"b/D:\\temp\\CruiseControl.NET\\project\\core\\tasks\\DevenvTask.cs"
19 19
	/// <version>1.0</version>
20 20
	/// <remarks>
21 21
	/// <para>
22
	/// If executable and version are not specified, CC.NET will search the registry for VS.NET 2010, 2008, 2005, 2003, and 2002 in that order.
22
	/// If executable and version are not specified, CC.NET will search the registry for VS.NET 2013, 2012, 2010, 2008, 2005, 2003, and 2002 in that order.
23 23
	/// If you need to use a specific version when a newer version is installed, you should specify the version property to identify it,
24 24
	/// or specify the executable property to point to the location of correct version of devenv.com.
25 25
	/// </para>
......
64 64
        /// 	
65 65
        /// </summary>
66 66
        /// <remarks></remarks>
67
		public readonly Guid LogFileId = Guid.NewGuid();
67
		public readonly Guid LogFileId = Guid.NewGuid();
68
        /// <summary>
69
        /// 	
70
        /// </summary>
71
        /// <remarks></remarks>
72
		public const string VS2013_REGISTRY_PATH = @"Software\Microsoft\VisualStudio\12.0";
73
        /// <summary>
74
        /// 	
75
        /// </summary>
76
        /// <remarks></remarks>
77
		public const string VS2012_REGISTRY_PATH = @"Software\Microsoft\VisualStudio\11.0";
68 78
        /// <summary>
69 79
        /// 	
70 80
        /// </summary>
......
152 162
		private readonly string[] ExpectedVisualStudioVersions =
153 163
			new string[]
154 164
				{
155
					"10.0", "9.0", "8.0", "7.1", "7.0",
156
					"VS2010", "VS2008", "VS2005", "VS2003", "VS2002"
165
					"12.0", "11.0", "10.0", "9.0", "8.0", "7.1", "7.0",
166
					"VS2013", "VS2012", "VS2010", "VS2008", "VS2005", "VS2003", "VS2002"
157 167
				};
158 168

  
159 169
		private readonly string[] RegistryScanOrder =
160 170
			new string[]
161 171
				{
162
					VS2010_REGISTRY_PATH, VS2008_REGISTRY_PATH, VS2005_REGISTRY_PATH, VS2003_REGISTRY_PATH, VS2002_REGISTRY_PATH
172
					VS2013_REGISTRY_PATH, VS2012_REGISTRY_PATH, VS2010_REGISTRY_PATH, VS2008_REGISTRY_PATH, VS2005_REGISTRY_PATH, VS2003_REGISTRY_PATH, VS2002_REGISTRY_PATH
163 173
				};
164 174

  
165 175
		/// <summary>
......
172 182
		/// <value>VS2003</value>
173 183
		/// <value>VS2005</value>
174 184
		/// <value>VS2008</value>
175
		/// <value>VS2010</value>
185
		/// <value>VS2010</value>
186
		/// <value>VS2012</value>
187
		/// <value>VS2013</value>
176 188
		/// <value>7.0</value>
177 189
		/// <value>7.1</value>
178 190
		/// <value>8.0</value>
179 191
		/// <value>9.0</value>
180
		/// <value>10.0</value>
192
		/// <value>10.0</value>
193
		/// <value>11.0</value>
194
		/// <value>12.0</value>
181 195
		/// </values>
182 196
		[ReflectorProperty("version", Required = false)]
183 197
		public string Version
......
225 239
			string path;
226 240

  
227 241
			switch (Version)
228
			{
242
			{
243
				case "VS2013":
244
				case "12.0":
245
					path = registry.GetExpectedLocalMachineSubKeyValue(VS2013_REGISTRY_PATH, VS_REGISTRY_KEY);
246
					break;
247
				case "VS2012":
248
				case "11.0":
249
					path = registry.GetExpectedLocalMachineSubKeyValue(VS2012_REGISTRY_PATH, VS_REGISTRY_KEY);
250
					break;
229 251
				case "VS2010":
230 252
				case "10.0":
231 253
					path = registry.GetExpectedLocalMachineSubKeyValue(VS2010_REGISTRY_PATH, VS_REGISTRY_KEY);