C# 显示使用的Nuget包
早上好-我正在寻找一种创建视图的方法,该视图将显示我的项目中使用的nuget包,包括所有元数据。到目前为止,我有下面的代码,但我无法让控制器显示每个nuget包的详细信息 到目前为止,我有以下内容,但它只显示每个nuget包的名称和许多我不需要的细节。我需要的是每个包中存储的函数的名称和属性。对于属性,我指的是所需的参数和开发人员添加的任何摘要信息 查看:C# 显示使用的Nuget包,c#,jquery,model-view-controller,nuget,C#,Jquery,Model View Controller,Nuget,早上好-我正在寻找一种创建视图的方法,该视图将显示我的项目中使用的nuget包,包括所有元数据。到目前为止,我有下面的代码,但我无法让控制器显示每个nuget包的详细信息 到目前为止,我有以下内容,但它只显示每个nuget包的名称和许多我不需要的细节。我需要的是每个包中存储的函数的名称和属性。对于属性,我指的是所需的参数和开发人员添加的任何摘要信息 查看: <h2>Assemblies</h2> <table class="table"> <tr&g
<h2>Assemblies</h2>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Description)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@*@Html.DisplayFor(modelItem => item.Description)*@ @Html.Raw(item.Description)
</td>
</tr>
}
public ActionResult Assemblies()
{ List<GenericList> listAssemblies = new List<GenericList>();
string str = string.Empty;
string properties = "";
string members = "";
AssemblyName[] assemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
foreach (AssemblyName item in assemblies)
{
//str += item.Name + Environment.NewLine;
GenericList itemInList = new GenericList();
itemInList.Name = item.Name;
itemInList.Description = "<b>CodeBase:</b> " + item.CodeBase
+ "</br><b>ContentType:</b> " + item.ContentType
+ "</br><b>CultureInfo:</b> " + item.CultureInfo
+ "</br><b>CultureName:</b> " + item.CultureName
+ "</br><b>EscapedCodeBase:</b> " + item.EscapedCodeBase
+ "</br><b>Flags:</b> " + item.Flags
+ "</br><b>FullName:</b> " + item.FullName
+ "</br><b>HashAlgorithm:</b> " + item.HashAlgorithm
+ "</br><b>KeyPair:</b> " + item.KeyPair
+ "</br><b>ProcessorArchitecture:</b> " + item.ProcessorArchitecture
+ "</br><b>Version:</b> " + item.Version
+ "</br><b>VersionCompatibility:</b> " + item.VersionCompatibility
+ "</br><b>GetType:</b> " + item.FullName.GetType();
foreach (var prop in item.GetType().GetProperties())
{
properties += "<h3>Special Properties</h3><b>Name:</b> " + prop.Name
+ "</br><b>IsSpecialName:</b> " + prop.IsSpecialName
+ "</br><b>MemberType:</b> " + prop.MemberType
+ "</br><b>MetadataToken:</b> " + prop.MetadataToken
+ "</br><b>PropertyType:</b> " + prop.PropertyType
+ "</br><b>ReflectedType:</b> " + prop.ReflectedType
+ "</br><b>SetMethod:</b> " + prop.SetMethod;
}
foreach (var prop in item.GetType().GetMembers())
{
members += "<h3>GetMembers</h3><b>Name:</b> " + prop.Name
+ "</br><b>MemberType:</b> " + prop.MemberType
+ "</br><b>MetadataToken:</b> " + prop.MetadataToken
+ "</br><b>ReflectedType.AssemblyQualifiedName:</b> " + prop.ReflectedType.FullName
+ "</br><b>Module:</b> " + prop.Module
+ "</br><b>CustomAttributes:</b> " + prop.CustomAttributes
+ "</br><b>DeclaringType:</b> " + prop.DeclaringType;
}
itemInList.Description += "<div class='float-left divWidth'>" + properties + "</div>"
+ "<div class='float-left divWidth'>" + members + "</div>";
listAssemblies.Add(itemInList);
}
return View(listAssemblies);
}
程序集
@DisplayNameFor(model=>model.Name)
@DisplayNameFor(model=>model.Description)
@foreach(模型中的var项目){
@DisplayFor(modelItem=>item.Name)
@*@Html.DisplayFor(modelItem=>item.Description)*@@Html.Raw(item.Description)
}
控制器:
<h2>Assemblies</h2>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Description)
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@*@Html.DisplayFor(modelItem => item.Description)*@ @Html.Raw(item.Description)
</td>
</tr>
}
public ActionResult Assemblies()
{ List<GenericList> listAssemblies = new List<GenericList>();
string str = string.Empty;
string properties = "";
string members = "";
AssemblyName[] assemblies = Assembly.GetExecutingAssembly().GetReferencedAssemblies();
foreach (AssemblyName item in assemblies)
{
//str += item.Name + Environment.NewLine;
GenericList itemInList = new GenericList();
itemInList.Name = item.Name;
itemInList.Description = "<b>CodeBase:</b> " + item.CodeBase
+ "</br><b>ContentType:</b> " + item.ContentType
+ "</br><b>CultureInfo:</b> " + item.CultureInfo
+ "</br><b>CultureName:</b> " + item.CultureName
+ "</br><b>EscapedCodeBase:</b> " + item.EscapedCodeBase
+ "</br><b>Flags:</b> " + item.Flags
+ "</br><b>FullName:</b> " + item.FullName
+ "</br><b>HashAlgorithm:</b> " + item.HashAlgorithm
+ "</br><b>KeyPair:</b> " + item.KeyPair
+ "</br><b>ProcessorArchitecture:</b> " + item.ProcessorArchitecture
+ "</br><b>Version:</b> " + item.Version
+ "</br><b>VersionCompatibility:</b> " + item.VersionCompatibility
+ "</br><b>GetType:</b> " + item.FullName.GetType();
foreach (var prop in item.GetType().GetProperties())
{
properties += "<h3>Special Properties</h3><b>Name:</b> " + prop.Name
+ "</br><b>IsSpecialName:</b> " + prop.IsSpecialName
+ "</br><b>MemberType:</b> " + prop.MemberType
+ "</br><b>MetadataToken:</b> " + prop.MetadataToken
+ "</br><b>PropertyType:</b> " + prop.PropertyType
+ "</br><b>ReflectedType:</b> " + prop.ReflectedType
+ "</br><b>SetMethod:</b> " + prop.SetMethod;
}
foreach (var prop in item.GetType().GetMembers())
{
members += "<h3>GetMembers</h3><b>Name:</b> " + prop.Name
+ "</br><b>MemberType:</b> " + prop.MemberType
+ "</br><b>MetadataToken:</b> " + prop.MetadataToken
+ "</br><b>ReflectedType.AssemblyQualifiedName:</b> " + prop.ReflectedType.FullName
+ "</br><b>Module:</b> " + prop.Module
+ "</br><b>CustomAttributes:</b> " + prop.CustomAttributes
+ "</br><b>DeclaringType:</b> " + prop.DeclaringType;
}
itemInList.Description += "<div class='float-left divWidth'>" + properties + "</div>"
+ "<div class='float-left divWidth'>" + members + "</div>";
listAssemblies.Add(itemInList);
}
return View(listAssemblies);
}
public ActionResult程序集()
{List listsassemblies=new List();
string str=string.Empty;
字符串属性=”;
字符串成员=”;
AssemblyName[]assemblies=Assembly.GetExecutionGassembly().GetReferencedAssemblys();
foreach(程序集中的AssemblyName项)
{
//str+=item.Name+Environment.NewLine;
GenericList itemInList=新建GenericList();
itemInList.Name=item.Name;
itemInList.Description=“CodeBase:+item.CodeBase
+“ContentType:”+item.ContentType
+“文化信息:”+item.CultureInfo
+文化名称:“+item.CultureName”
+“EscapedCodeBase:”+item.EscapedCodeBase
+“标志:”+项。标志
+“全名:”+item.FullName
+“HashAlgorithm:”+item.HashAlgorithm
+“密钥对:”+item.KeyPair
+ProcessorArchitecture:+item.ProcessorArchitecture
+“版本:”+项。版本
+“版本兼容性:”+item.VersionCompatibility
+GetType:“+item.FullName.GetType();
foreach(item.GetType().GetProperties()中的var prop)
{
属性+=“特殊属性名称:”+prop.Name
+“IsSpecialName:”+prop.IsSpecialName
+“成员类型:”+prop.MemberType
+“MetadataToken:”+prop.MetadataToken
+“属性类型:”+prop.PropertyType
+“反射类型:”+prop.ReflectedType
+“SetMethod:”+prop.SetMethod;
}
foreach(item.GetType().GetMembers()中的var prop)
{
members+=“GetMembersName:+prop.Name
+“成员类型:”+prop.MemberType
+“MetadataToken:”+prop.MetadataToken
+“ReflectedType.AssemblyQualifiedName:”+prop.ReflectedType.FullName
+“模块:”+prop.模块
+“CustomAttributes:”+prop.CustomAttributes
+“DeclaringType:”+prop.DeclaringType;
}
itemInList.Description+=“”+属性+“”
+“+成员+”;
添加(itemInList);
}
返回视图(列表组件);
}
我需要的信息:
可能是您解决方案的一部分。这很有帮助,但我正在寻找一种方法,在线显示每个包中的可用类。因此,我们可以作为一个团队进行审查。