public void ChangeInReferenceListInvalidatesCsproj()
{
kernel.Bind<IReferenceBuilder>().To<RefBuilder>().Named("test");
var context = new Mock<IBuildContext>();
context.Setup(c => c.GetEffectiveBuilder(It.IsAny<IBuilder>())).Returns<IBuilder>(b => b);
var builder1 = kernel.Get<CsprojBuilder>();
project.AddReference(new Reference(new Uri("test://ref1"), ReferenceType.Build));
var prereqs1 = builder1.Prerequisites.ToList(); // enforce lazy eval
var fp0 = builder1.Dependencies.Fingerprint;
project.AddReference(new Reference(new Uri("test://ref2"), ReferenceType.Build));
var builder2 = kernel.Get<CsprojBuilder>();
var prereqs2 = builder2.Prerequisites.ToList(); // enforce lazy eval
var fp1 = builder2.Dependencies.Fingerprint;
fp0.Should().NotBe(fp1);
}