introduced custom actions file to execute devenv.exe /setup as admin

This commit is contained in:
Christian Resma Helle
2012-11-11 00:06:25 +01:00
parent 2575c0ce27
commit bf7d815274
20 changed files with 645 additions and 77 deletions
@@ -57,7 +57,7 @@ namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.CustomTool
var resources = ResourceParser.Parse();
foreach (var item in resources)
{
if (item.Name.Contains("."))
if (string.IsNullOrEmpty(item.Name) || item.Name.Contains("."))
continue;
var property = new CodeMemberProperty
@@ -69,7 +69,7 @@ namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.CustomTool
};
property.Comments.Add(new CodeCommentStatement("<summary>", true));
property.Comments.Add(new CodeCommentStatement("Localized resource similar to \"" + item.Value + "\"", true));
property.Comments.Add(new CodeCommentStatement("Localized resource similar to \"" + (item.Value ?? item.Name) + "\"", true));
property.Comments.Add(new CodeCommentStatement("</summary>", true));
property.GetStatements.Add(
new CodeMethodReturnStatement(
@@ -1,6 +1,4 @@
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.CustomTool
{
@@ -9,33 +7,4 @@ namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.CustomTool
string ReswFileContents { get; set; }
List<ResourceItem> Parse();
}
public class ResourceParser : IResourceParser
{
public ResourceParser(string reswFileContents)
{
ReswFileContents = reswFileContents;
}
public string ReswFileContents { get; set; }
public List<ResourceItem> Parse()
{
var doc = XDocument.Parse(ReswFileContents);
var list = new List<ResourceItem>();
foreach (var element in doc.Descendants("data"))
{
list.Add(new ResourceItem
{
Name = element.Attribute("name").Value,
Value = element.Descendants("value").First().Value,
Comment = element.Descendants("comment").First().Value
});
}
return list;
}
}
}
@@ -0,0 +1,53 @@
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
namespace ChristianHelle.DeveloperTools.CodeGenerators.Resw.CustomTool
{
public class ResourceParser : IResourceParser
{
public ResourceParser(string reswFileContents)
{
ReswFileContents = reswFileContents;
}
public string ReswFileContents { get; set; }
public List<ResourceItem> Parse()
{
var doc = XDocument.Parse(ReswFileContents);
var list = new List<ResourceItem>();
foreach (var element in doc.Descendants("data"))
{
if (element.Attributes().All(c => c.Name != "name"))
continue;
var item = new ResourceItem();
var nameAttribute = element.Attribute("name");
if (nameAttribute != null)
item.Name = nameAttribute.Value;
if (element.Descendants().Any(c => c.Name == "value"))
{
var valueElement = element.Descendants("value").FirstOrDefault();
if (valueElement != null)
item.Value = valueElement.Value;
}
if (element.Descendants().Any(c => c.Name == "comment"))
{
var commentElement = element.Descendants("comment").FirstOrDefault();
if (commentElement != null)
item.Comment = commentElement.Value;
}
list.Add(item);
}
return list;
}
}
}
@@ -59,6 +59,7 @@
<Compile Include="IResourceParser.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ResourceItem.cs" />
<Compile Include="ResourceParser.cs" />
<Compile Include="ReswFileCodeGenerator.cs" />
</ItemGroup>
<ItemGroup>