本文整理汇总了C#中ProjectElement.AddReference方法的典型用法代码示例。如果您正苦于以下问题:C# ProjectElement.AddReference方法的具体用法?C# ProjectElement.AddReference怎么用?C# ProjectElement.AddReference使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProjectElement
的用法示例。
在下文中一共展示了ProjectElement.AddReference方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LoadReferences
protected virtual void LoadReferences(ProjectElement project, Hashtable projects, XmlDocument doc, string projectDir, string projectLangTag)
{
string lReferencesQuery = String.Format(STR_ReferencesQueryFormat, projectLangTag);
XmlNodeList lReferences = doc.SelectNodes(lReferencesQuery);
int lCount = lReferences.Count;
for (int i = 0; i < lCount; i++)
{
System.Xml.XmlNode lReferenceNode = lReferences[i];
System.Xml.XmlNode lName = lReferenceNode.Attributes.GetNamedItem(STR_Name);
System.Xml.XmlNode lAssemblyName = lReferenceNode.Attributes.GetNamedItem(STR_AssemblyName);
if (lAssemblyName != null)
{
string lAssemblyNameStr = lAssemblyName.Value;
string lPath = FrameworkHelper.GetAssemblyPath(lAssemblyNameStr);
if (lPath == null || lPath.Length == 0)
{
System.Xml.XmlNode lHintPath = lReferenceNode.Attributes.GetNamedItem("HintPath");
lPath = lHintPath.Value;
lPath = PathUtilities.GetPath(projectDir, lPath);
if (File.Exists(lPath))
{
AssemblyReference lRef = new AssemblyReference(lPath);
project.AddReference(lRef);
}
}
else
project.AddReferenceByName(lAssemblyNameStr);
}
else
{
System.Xml.XmlNode lProjectRef = lReferenceNode.Attributes.GetNamedItem(STR_Project);
string lGuid = lProjectRef.Value;
ProjectInfo lInfo = projects[lGuid] as ProjectInfo;
if (lInfo != null)
{
AssemblyReference lRef = new AssemblyReference(String.Empty);
lRef.SetSourceProjectFullName(lInfo.FilePath);
project.AddReference(lRef);
}
}
}
}
示例2: LoadWebSiteProjectReferences
private void LoadWebSiteProjectReferences(ProjectElement result, ProjectInfo info, Hashtable projects)
{
foreach (string prjRefGuid in info.ProjectReferences)
{
ProjectInfo prfRefInfo = FindProjectByGuid(projects, prjRefGuid);
if (prfRefInfo == null)
{
continue;
}
AssemblyReference projectRef = new AssemblyReference(String.Empty);
projectRef.SetSourceProjectFullName(prfRefInfo.FilePath);
result.AddReference(projectRef);
}
}
示例3: LoadProjectReferences
private void LoadProjectReferences(ProjectElement result, MsBuildProjectLoader msBuildLoader, Hashtable projects)
{
IEnumerable<BuildItem> projectReferenceItems = msBuildLoader.GetProjectItems(STR_ProjectReference);
foreach (BuildItem item in projectReferenceItems)
{
string prj = item.GetMetadata(STR_Project);
ProjectInfo projectInfo = projects[prj] as ProjectInfo;
if (projectInfo == null)
{
continue;
}
AssemblyReference projectRef = new AssemblyReference(String.Empty);
projectRef.SetSourceProjectFullName(projectInfo.FilePath);
result.AddReference(projectRef);
}
}
示例4: LoadWebSiteReferences
private void LoadWebSiteReferences(ProjectElement result, ProjectInfo info)
{
WebConfigInfo webConfigInfo = WebConfigInfo.Create(result);
if (webConfigInfo.Assemblies == null)
{
return;
}
foreach (string assembly in webConfigInfo.Assemblies)
{
string path = assembly;
if (!File.Exists(path))
{
path = GetAssemblyPath(assembly);
}
if (!String.IsNullOrEmpty(path))
{
AssemblyReference resultReference = new AssemblyReference(path);
result.AddReference(resultReference);
}
}
}
示例5: AddReference
private AssemblyReference AddReference(ProjectElement project, MsBuildProjectLoader msBuildLoader, BuildItem item, string projectDir, string aliases)
{
AssemblyReference reference = null;
string dllName = GetReferenceDllName(item);
bool isSilverlight = IsSilverlightProject(project);
string path = GetAssemblyPath(dllName, isSilverlight);
if (String.IsNullOrEmpty(path))
{
path = GetReferencePath(msBuildLoader, item, projectDir);
}
if (!string.IsNullOrEmpty(path))
{
reference = new AssemblyReference(path);
reference.SetAliasesString(aliases);
project.AddReference(reference);
}
else
{
reference = project.AddReferenceByName(item.FinalItemSpec, aliases);
}
return reference;
}