csharp 解析CsProj
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 解析CsProj相关的知识,希望对你有一定的参考价值。
public object ParseCSPROJ(string content)
{
object returnCSProj = null;
TextReader textReader = new StringReader(content);
if(content.Contains("MonoAndroidAssetsPrefix"))
{
XmlSerializer serializer = new XmlSerializer(typeof(CsProjAndroidSample));
returnCSProj = (CsProjAndroidSample)serializer.Deserialize(textReader);
}
else if(content.Contains("JavaOptions"))
{
XmlSerializer serializer = new XmlSerializer(typeof(CsProjAndroid));
returnCSProj = (CsProjAndroid)serializer.Deserialize(textReader);
}
else if(content.Contains("?xml version") && content.Contains("Project Sdk"))
{
XmlSerializer serializer = new XmlSerializer(typeof(CsProjCoreVersionOne));
returnCSProj = (CsProjCoreVersionOne)serializer.Deserialize(textReader);
}
else if(content.Contains("?xml version"))
{
XmlSerializer serializer = new XmlSerializer(typeof(CsProjClassic));
returnCSProj = (CsProjClassic)serializer.Deserialize(textReader);
}
else if(content.Contains("Project Sdk"))
{
XmlSerializer serializer = new XmlSerializer(typeof(CsProjCORE));
returnCSProj = (CsProjCORE)serializer.Deserialize(textReader);
}
else if(content.StartsWith("<Project DefaultTargets=\"Build\""))
{
XmlSerializer serializer = new XmlSerializer(typeof(CsProjUnknown));
returnCSProj = (CsProjUnknown)serializer.Deserialize(textReader);
}
else if(content.StartsWith("<Project ToolsVersion"))
{
XmlSerializer serializer = new XmlSerializer(typeof(CsProjToolVersion));
returnCSProj = (CsProjToolVersion)serializer.Deserialize(textReader);
}
else if(content.Contains("you do not have permission to access it")) throw new Exception("Nemam prava pristupa projektu");
else if(content.Contains("InvalidPathException")) throw new Exception("Greška kod putanje, projekti su smješteni na lokalnom disku i nije im moguće pristupiti! ");
else if(returnCSProj == null) throw new Exception("Nisam našao dobar parser za CSProj");
return returnCSProj;
}
以上是关于csharp 解析CsProj的主要内容,如果未能解决你的问题,请参考以下文章
全面解析Unity3D自动生成的脚本工程文件
错误:*.csproj 无法在 MonoDevelop 上导入“$(MSBuildBinPath)\Microsoft.CSharp.targets”
csharp 用于从csproj unity 2018中排除着色器文件的后处理器生成
.props 文件中的 C# 参考
csharp 注销应用程序用户数据解析脚本
csharp #JSON解析器MBAD MPBA