C#Microsoft.Build.Evaluation.Projectクラスを使用して、TargetFramework、AssemblyName ...などのVSプロジェクトファイルから特定の情報を取得しています。しかし、プロジェクトがWebプロジェクトであるかどうかを識別する方法やプロパティ名を見つけることができません。フレームワーク1.1のVSプロジェクトでは、このようなXML解析を使用しています。VSプロジェクトがWEBアプリケーションまたはWindowsアプリケーションに属しているかどうかを確認する方法
string path = "C:\\Test.csproj";
XElement root = XElement.Load(path);
var type = from el in root.Elements("CSHARP")
select el.Attribute("ProjectType");
if (type.Count() > 0)
{
// Local or Web
return((XAttribute)type.First()).Value);
}
誰かがこの問題を解決するために私に財産の名前または別の提案を与えることができたら、私は感謝します。
ありがとうございます。
私の完全なメソッドのコード
public bool IsWeb(string path)
{
bool isWeb = false;
try
{
Project project = new Project(path);
// I dont know the name of the propety to identify if its a web project
//string type = project.GetPropertyValue();
//if (type.Equals("Web"))
//{
// isWeb = true;
//}
}
catch (InvalidProjectFileException)
{
//It's fw 1.1
XElement root = XElement.Load(path);
var type = from el in root.Elements("CSHARP")
select el.Attribute("ProjectType");
if (type.Count() > 0)
{
if ((((XAttribute)type.First()).Value).Equals("Web"))
{
isWeb = true;
}
}
}
return isWeb;
}
プロジェクトにタグがありますか? –
Radolan
ええ、プロジェクト拡張で – deltree