Как только вы исправите XML (у вас нет закрывающей кавычки, и у вас есть несопоставленные теги), он работает нормально. Протестировано в LINQPad
string xml =
"<Project>"+
"<PropertyGroup>" +
"</PropertyGroup>" +
"<ItemGroup>" +
"<Build Include = \"Schema Objects\\Schemas\\dbo\\Programmability\\Stored Procedures\\foo.sql\">"+
"</Build>"+
"</ItemGroup>"+
"</Project>";
var doc = XDocument.Parse(xml);
var elements = doc.Descendants("Build").Where (x => x.Attribute("Include").Value.Contains("Stored Procedure")).ToList();
elements.Dump();
Результат:
<Build Include="Schema Objects\Schemas\dbo\Programmability\Stored Procedures\foo.sql"> </Build>
Если вы просто пытаетесь получить значение, попробуйте это:
var element2 = doc.Descendants("Build").Where (x => x.Attribute("Include").Value.Contains("Stored Procedure")).Select (x => x.Attribute("Include").Value);
element2.Dump();
РЕДАКТИРОВАТЬ - Это тоже работает:
var element3 = doc.Descendants("Build").Select(x=>x.Attribute("Include")).Where(y=>y.Value.Contains("Stored Procedure")).FirstOrDefault().Value;