作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您如何以编程方式查找和迭代 Visual Studio 2010 解决方案中的所有项目和 dll 引用?
我可以迭代所有项目并找到Project.ProjectItems
属性(property)和Project.Properties
但还没有找到任何引用引用的方法(双关语)。
这发生在加载项中,因此 DTE 解决方案比建议我们迭代文件的任何人都更可取。
根据以下答案提出的解决方案:
您需要找到并包含对 VSLangProj.dll 的引用(例如在 Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies
中)
然后您可以像这样迭代所有选定项目的项目和 DLL 引用:
foreach (Project project in (object[])_applicationObject.ActiveSolutionProjects)
{
VSProject vsProject = project.Object as VSProject;
if (vsProject != null)
{
foreach (Reference reference in vsProject.References)
{
// Do cool stuff here
}
}
}
private DTE2 _applicationObject;
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
最佳答案
您可以访问 VB/C# 特定的 VSProject来自 Project 对象的 Object 属性的对象。 VSProject 有一个 References
属性,您可以通过它深入了解各个引用。
如果您考虑一下,它必须是这种方式,因为并非所有在 Visual Studio 中加载的项目都必然支持对 .NET 程序集的引用,因此它必须是专门用于 C#/VB(和其他 .NET 语言)的东西,而不是而不是核心项目对象。
关于visual-studio-2010 - Visual Studio 2010 加载项 : How to locate project references?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6572792/
我是一名优秀的程序员,十分优秀!