Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using UnityEditor;
using SyntaxTree.VisualStudio.Unity.Bridge;
public class ProjectFileHook
// necessary for XLinq to save the xml project file in utf8
class Utf8StringWriter : StringWriter
public override Encoding Encoding
get { return Encoding.UTF8; }
static ProjectFileHook()
ProjectFilesGenerator.ProjectFileGeneration += (string name, string content) =>
// parse the document and make some changes
var document = XDocument.Parse(content);
var ns = document.Root.Name.Namespace;
.First(x => x.Name.LocalName == "ItemGroup")
.Add(new XElement(ns + "Reference", new XAttribute("Include", "System.Net.Http")));
// save the changes using the Utf8StringWriter
var str = new Utf8StringWriter();
return str.ToString();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment